GoLang教程003:数据类型介绍

文章目录

    • [2.2 数据类型介绍](#2.2 数据类型介绍)
      • [2.2.1 基本数据类型](#2.2.1 基本数据类型)
      • [2.2.2 复合数据类型](#2.2.2 复合数据类型)

2.2 数据类型介绍

在 Go 语言中,数据类型是构建程序的基础,分为以下几类:基本类型复合类型/派生类型。以下是 Go 中常见的数据类型及其介绍:

2.2.1 基本数据类型

  • 数值类型

    • 整数类型

      • 有符号整数:int, int8, int16, int32, int64

      • 无符号整数:uint, uint8 (别名为 byte), uint16, uint32, uint64

      • 示例:

        go 复制代码
        var age int = 30
        var count uint = 100
        var char byte = 'A' // 等同于 uint8
    • 浮点数类型

      • float32, float64

      • 示例:

        go 复制代码
        var pi float32 = 3.14
        var e float64 = 2.71828
  • 字符串类型

  • 类型string

  • 特点:字符串是不可变的,可以包含 Unicode 字符。

  • 示例:

    go 复制代码
    var greeting string = "Hello, Go!"
    fmt.Println(greeting)
  • 布尔类型

    • 类型bool

    • 取值truefalse

    • 示例:

      go 复制代码
      var isAvailable bool = true
      fmt.Println(isAvailable) // 输出: true

2.2.2 复合数据类型

数组

  • 定义:固定长度的相同类型元素的集合。

  • 语法:

    go 复制代码
    var arr [5]int = [5]int{1, 2, 3, 4, 5}
    fmt.Println(arr) // 输出: [1 2 3 4 5]

切片(Slice)

  • 定义:动态大小的数组。

  • 语法:

    go 复制代码
    var slice []int = []int{1, 2, 3}
    slice = append(slice, 4)
    fmt.Println(slice) // 输出: [1 2 3 4]

字典(Map)

  • 定义:键值对的集合,类似于其他语言的哈希表。

  • 语法:

    go 复制代码
    var m map[string]int = map[string]int{"a": 1, "b": 2}
    fmt.Println(m["a"]) // 输出: 1

结构体(Struct)

  • 定义:自定义数据类型,用于组织多个字段。

  • 语法:

    go 复制代码
    type Person struct {
        Name string
        Age  int
    }
    
    var p Person = Person{Name: "Alice", Age: 25}
    fmt.Println(p) // 输出: {Alice 25}

Go 提供了丰富且高效的数据类型,涵盖了基本类型(整数、浮点、字符串等)和复合类型(数组、切片、结构体、接口等),同时支持指针和动态类型,满足多种编程需求。

相关推荐
编程(变成)小辣鸡1 小时前
如何防止接口被恶意刷?
java·后端·网络安全
Helen_cai1 小时前
OpenHarmony 完整项目工程整合规范 + 模块化分层架构(API23+ 标准企业级结构)
开发语言·华为·php·harmonyos
大圣编程6 小时前
Java 多维数组详解
java·开发语言
葫芦和十三8 小时前
图解 MongoDB 30|查询路由与广播查询:带片键定向,不带就广播
后端·mongodb·agent
葫芦和十三8 小时前
图解 MongoDB 29|分片键陷阱:jumbo chunk、孤儿文档和写入热点
后端·mongodb·agent
殳翰8 小时前
下服务器端开发流程及相关工具介绍(C++)
开发语言·c++
进击的程序猿~9 小时前
Go Zero源码阅读1
后端·golang
落寞的星星9 小时前
这个对象就包含了已经转换好的DFA和各种词法分析器运转所需要的参数。下一步,我们就可以用ScannerInfo对象创建出Scanner对象,请看下面的代码:
开发语言·c#
nothing&nowhere9 小时前
用 Python 做问卷数据清洗:无效样本检测与处理实战
开发语言·python·数据清洗·数据处理·问卷星·问卷星脚本·刷问卷
2601_9615934210 小时前
Rust 开发环境配置繁琐?RustRover 开箱即用搞定编码调试
开发语言·后端·macos·rust