type
status
date
slug
summary
tags
category
icon
password
AI summary

Go 语言基础之基本数据类型


1. 什么是基本数据类型

Go 语言是一种静态强类型语言,所有变量在使用之前都需要指定类型。Go 提供了一组基础数据类型,用于处理各种类型的值。

2. Go 的基本数据类型分类

2.1 布尔类型

  • 类型bool
  • 取值范围truefalse
  • 默认值false
  • 示例

    2.2 整型

    有符号整型

    类型
    大小(位)
    取值范围
    int8
    8
    -128 ~ 127
    int16
    16
    -32,768 ~ 32,767
    int32
    32
    -2,147,483,648 ~ 2,147,483,647
    int64
    64
    -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807

    无符号整型

    类型
    大小(位)
    取值范围
    uint8
    8
    0 ~ 255
    uint16
    16
    0 ~ 65,535
    uint32
    32
    0 ~ 4,294,967,295
    uint64
    64
    0 ~ 18,446,744,073,709,551,615
    • 通用整型
      • intuint 的大小取决于具体架构(32 位或 64 位)。
      • 示例:

      2.3 浮点型

      类型
      大小(位)
      精度
      float32
      32
      约 6-7 位小数精度
      float64
      64
      约 15-16 位小数精度
      • 示例

        2.4 复数类型

        类型
        大小(位)
        描述
        complex64
        64
        实部和虚部均为 float32
        complex128
        128
        实部和虚部均为 float64
        • 示例

          2.5 字符类型

          • 类型byterune
          • 描述
            • byte:等同于 uint8,用于表示 ASCII 字符。
            • rune:等同于 int32,用于表示 Unicode 字符。
          • 示例

            2.6 字符串类型

            • 类型string
            • 描述
              • 字符串是不可变的字符序列。
              • 默认值是空字符串 ""
            • 示例

              2.6.1 字符串转义符

              Go 语言支持使用转义字符来表示特殊字符,以下是常见的转义符列表:
              转义符
              描述
              \n
              换行符
              \t
              制表符
              \\
              反斜杠
              \"
              双引号
              \'
              单引号
              \r
              回车符
              \b
              退格符
              \f
              换页符
              • 示例代码
                • 输出

              2.6.2 原始字符串

              Go 支持使用反引号 ` 定义原始字符串(Raw String),其中的内容会保持原样,不解析转义字符。
              • 示例代码
                • 输出

              2.6.3 字符串的常用操作

              2.6.3.1 获取字符串长度

              使用内置的 len() 函数可以获取字符串的长度(以字节为单位)。
              • 示例代码

                2.6.3.2 拼接字符串

                使用 +fmt.Sprintf() 拼接字符串。
                • 示例代码

                  2.6.3.3 字符串切片

                  通过下标操作可以提取字符串的部分内容。
                  • 示例代码

                    2.6.3.4 查找子串

                    使用 strings.Containsstrings.Index 查找子串。
                    • 示例代码

                      2.6.3.5 字符串分割

                      使用 strings.Split 分割字符串。
                      • 示例代码

                        2.6.3.6 字符串替换

                        使用 strings.Replace 替换子串。
                        • 示例代码

                          2.6.3.7 修改大小写

                          使用 strings.ToUpperstrings.ToLower 修改字符串的大小写。
                          • 示例代码

                            2.6.3.8 去除空白字符

                            使用 strings.TrimSpace 去除字符串首尾的空白字符。
                            • 示例代码

                              2.6.4 示例代码:综合运用


                              2.7 派生类型

                              • 数组
                              • 切片
                              • 结构体
                              • 接口
                              • 指针
                              这些属于高级特性,将在后续学习中详细讲解。

                              3. 类型转换

                              Go 语言不支持隐式类型转换,所有类型转换必须显式进行。
                              • 示例

                                4. 零值

                                Go 语言的变量在声明时会被赋予类型的默认零值。
                                类型
                                默认值
                                布尔类型
                                false
                                数字类型
                                0
                                字符串类型
                                ""
                                指针类型
                                nil
                                • 示例

                                  5. 示例代码


                                  6. 总结

                                  1. Go 提供了一组简单且高效的基础数据类型。
                                  1. 变量必须显式声明其类型,或通过类型推断自动确定。
                                  1. 理解每种数据类型的特点和使用场景是 Go 编程的基础。
                                   
                                  运算符变量和常量