5. Go 基础数据类型

数值类型

整数类型

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
// 有符号整数
var i8  int8    // -128 到 127
var i16 int16   // -32768 到 32767
var i32 int32   // -2147483648 到 2147483647
var i64 int64   // -9223372036854775808 到 9223372036854775807
var i   int     // 32位或64位,取决于系统

// 无符号整数
var u8  uint8   // 0 到 255
var u16 uint16  // 0 到 65535
var u32 uint32  // 0 到 4294967295
var u64 uint64  // 0 到 18446744073709551615
var u   uint    // 32位或64位,取决于系统

浮点数类型

1
2
3
var f32 float32 // 32位浮点数
var f64 float64 // 64位浮点数
var f   float   // float64 的别名

复数类型

1
2
3
var c64 complex64  // 64位复数
var c128 complex128 // 128位复数
var c    complex    // complex128 的别名

字符串

字符串特性

  1. 字符串是不可变的
  2. 支持 UTF-8 编码
  3. 可以使用反引号创建原始字符串

字符串操作

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
// 字符串声明
var s1 string = "Hello"
s2 := "World"

// 原始字符串
s3 := `This is a
raw string
with multiple lines`

// 字符串连接
s4 := s1 + " " + s2

// 字符串长度
length := len(s1)

// 字符串切片
sub := s1[1:3]  // "el"

布尔类型

布尔值

1
2
3
4
5
6
7
var b1 bool = true
var b2 bool = false

// 布尔运算
b3 := true && false  // 与
b4 := true || false  // 或
b5 := !true         // 非

类型转换

数值类型转换

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
// 整数转换
var i int = 42
var f float64 = float64(i)

// 浮点数转换
var f2 float64 = 3.14
var i2 int = int(f2)  // 截断小数部分

// 字符串转换
var s string = strconv.Itoa(42)  // 整数转字符串
i3, _ := strconv.Atoi("42")      // 字符串转整数

常量

常量声明

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
// 单个常量
const Pi = 3.14159

// 多个常量
const (
    Sunday = iota
    Monday
    Tuesday
    Wednesday
    Thursday
    Friday
    Saturday
)

参考资源

57.12k 字
43篇文章