解析 Go 编程语言数据类型:bool、整数、浮点数和字符串详细介绍


在 Go 语言中,数据类型是变量和常量的基础,定义了存储数据的方式以及可以对数据执行的操作。Go 语言支持多种基本数据类型,包括布尔型、整数型、浮点型和字符串。下面详细介绍这些基本数据类型及其用法。

1. 布尔型(bool)

布尔型数据类型用于表示 truefalse 两个值。

声明和初始化

package main

import "fmt"

func main() {
    var b1 bool = true
    var b2 bool = false

    b3 := true // 类型推断

    fmt.Println("b1:", b1)
    fmt.Println("b2:", b2)
    fmt.Println("b3:", b3)
}

布尔运算

布尔型支持常见的逻辑运算:

  • && 逻辑与
  • || 逻辑或
  • ! 逻辑非

示例

package main

import "fmt"

func main() {
    b1 := true
    b2 := false

    fmt.Println("b1 && b2:", b1 && b2) // 输出: false
    fmt.Println("b1 || b2:", b1 || b2) // 输出: true
    fmt.Println("!b1:", !b1)           // 输出: false
}

2. 整数型

整数型数据类型用于表示整数,Go 语言提供多种整数类型,包括有符号和无符号类型。

有符号整数

  • int8: 8 位有符号整数(-128 到 127)
  • int16: 16 位有符号整数(-32768 到 32767)
  • int32: 32 位有符号整数(-2147483648 到 2147483647)
  • int64: 64 位有符号整数(-9223372036854775808 到 9223372036854775807)

无符号整数

  • uint8: 8 位无符号整数(0 到 255)
  • uint16: 16 位无符号整数(0 到 65535)
  • uint32: 32 位无符号整数(0 到 4294967295)
  • uint64: 64 位无符号整数(0 到 18446744073709551615)

声明和初始化

package main

import "fmt"

func main() {
    var i int = 42
    var u uint = 42

    i8 := int8(127) // 类型转换
    u16 := uint16(65535)

    fmt.Println("i:", i)
    fmt.Println("u:", u)
    fmt.Println("i8:", i8)
    fmt.Println("u16:", u16)
}

3. 浮点型

浮点型数据类型用于表示带有小数部分的数字,Go 语言支持两种浮点类型:

  • float32: 32 位浮点数
  • float64: 64 位浮点数

声明和初始化

package main

import "fmt"

func main() {
    var f32 float32 = 3.14
    var f64 float64 = 3.141592653589793

    f := 2.71828 // 类型推断为 float64

    fmt.Println("f32:", f32)
    fmt.Println("f64:", f64)
    fmt.Println("f:", f)
}

浮点运算

浮点型支持常见的算术运算:

  • + 加法
  • - 减法
  • * 乘法
  • / 除法

4. 字符串(string)

字符串数据类型用于表示一系列字符,Go 语言中的字符串是 Unicode 编码的,可以包含任何 Unicode 字符。

声明和初始化

package main

import "fmt"

func main() {
    var s1 string = "Hello, Go!"
    s2 := "Hello, World!" // 类型推断

    fmt.Println("s1:", s1)
    fmt.Println("s2:", s2)
}

字符串操作

字符串支持多种操作:

  • 获取字符串长度:len(s)
  • 字符串连接:+
  • 获取字符:s[i]
  • 子字符串:s[start:end]

示例

package main

import "fmt"

func main() {
    s := "Hello, Go!"

    fmt.Println("Length of s:", len(s))
    fmt.Println("First character:", string(s[0]))
    fmt.Println("Substring (0:5):", s[0:5])

    s2 := s + " Welcome!"
    fmt.Println("Concatenated string:", s2)
}

总结

Go 语言提供了丰富的数据类型以满足不同场景的需求。理解和正确使用这些基本数据类型是编写高效 Go 程序的基础。通过掌握布尔型、整数型、浮点型和字符串的使用方法,可以灵活地处理各种数据操作需求。


原文链接:codingdict.net