• go语言学习之旅之Go语言数据类型


    学无止境,今天学习Go 语言数据类型

    Go(或Golang)是一种静态类型语言,这意味着变量的数据类型必须显式声明,并且在运行时不能更改。以下是Go中的一些基本数据类型:
    这里仅介绍最常用的类型

    1. 数值类型:

      • int: 有符号整数类型,其大小取决于平台(32位或64位)。
      • int8int16int32int64: 具有特定位数的有符号整数。
      • uint: 无符号整数类型,取决于平台。
      • uint8uint16uint32uint64: 具有特定位数的无符号整数。
      • float32float64: 用于表示小数的浮点类型。
    2. 字符串:

      • string: 表示字符序列。Go中的字符串是不可变的。
    3. 布尔:

      • bool: 表示布尔值,可以是 truefalse
    4. 派生类型:

      • array: 表示具有相同类型元素的固定大小序列。
      • slice: 是数组的更灵活的版本,具有动态大小。
      • map: 表示无序的键值对集合。
      • struct: 允许通过将不同类型组合成一个实体来创建自己的数据类型。
      • pointer: 存储另一个变量的内存地址。
    5. 特殊类型:

      • byte: uint8 的别名。
      • rune: int32 的别名。用于表示 Unicode 代码点。

    以下是演示其中一些类型使用的示例:

    package main
    
    import "fmt"
    
    func main() {
        // 数值类型
        var integer int = 42
        var floatingPoint float64 = 3.14
    
        // 字符串类型
        var message string = "Hello, Go!"
    
        // 布尔类型
        var isTrue bool = true
    
        // 数组
        var numbers [3]int = [3]int{1, 2, 3}
    
        // 切片
        var dynamicNumbers []int = []int{4, 5, 6}
    
        // 映射
        var person map[string]string = map[string]string{"name": "John", "age": "30"}
    
        // 结构体
        type Point struct {
            x, y int
        }
        var point Point = Point{1, 2}
    
        // 指针
        var pointerToInteger *int = &integer
    
        fmt.Println(integer, floatingPoint, message, isTrue, numbers, dynamicNumbers, person, point, *pointerToInteger)
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35

    在这里插入图片描述

    此示例涵盖了Go中一些基本数据类型,但语言中还有更高级的类型和概念。随着您对Go的了解加深,您将遇到接口、通道等功能,这些功能有助于语言的简洁性和效率。

  • 相关阅读:
    F3L600R10W4S7FC22BPSA1 EasyPACK IGBT模块 950V(F3L600R10W4S7FC22)
    开源即时通讯IM框架 MobileIMSDK v6.4 发布
    秋招每日一题T30——每个元音包含偶数次的最长子字符串
    【Web 安全】刚开始学渗透,零基础怎么入门?
    GLSL: Shader cannot be patched for instancing.
    【Qt课设】基于Qt实现的中国象棋
    卷积神经网络——vgg16网络及其python实现
    MES系统电子秤数据采集
    Java面试题03
    实现SO10 打包传输
  • 原文地址:https://blog.csdn.net/qq_43406318/article/details/134461394