阐述Go有哪些数据类型?
Go语言有以下主要的数据类型:
- 基本类型(Basic Types):
- 数字类型:包括整数(int8, int16, int32, int64, uint8等)、浮点数(float32, float64)和复数(complex64, complex128)。
- 字符串类型(string):用于表示字符序列。
- 布尔类型(bool):有两个值,
true
和false
。
- 复合类型(Composite Types):
- 数组类型(array):包含固定数量,类型相同的元素。
- 切片类型(slice):可以动态改变大小的数组类型。
- 结构体类型(struct):用于组合多个不同类型的字段。
- 接口类型(interface):定义了一组方法的集合,但没有实现。任何实现了这些方法的类型都被认为实现了该接口。
- 映射类型(map):是键值对的无序集合,其键和值是任意类型。
- 指针类型(pointer):包含了其它数据类型的内存地址。
- 函数类型(function):用于表示函数。
- 通道类型(Channel):在Go语言的并发编程中,通道(channel)是用来在goroutine之间传递数据的主要方式。
这是一个简单的例子来演示这些类型:
package main
import "fmt"
func main() {
var i int = 10
var f float32 = 10.10
var s string = "Hello, World"
var b bool = true
var arr [3]int = [3]int{1, 2, 3}
var sl []int = []int{1, 2, 3}
var m map[string]int = map[string]int{"one": 1, "two": 2}
var p *int = &i
fmt.Println(i, f, s, b, arr, sl, m, p)
}
在这个例子中,我们定义了各种类型的变量,并打印了它们的值。