Go 是一门静态类型语言,不能在运行期改变变量的类型。 声明一个变量,首先也需要明确它的类型。 因此,我们先来看看 Go 支持的类型都有哪些?
布尔类型
1
var v bool// true, false
数值类型
无符号整型
1 2 3 4
var v uint8// 8 位,(0 到 255) var v uint16// 16 位,(0 到 65535) var v uint32// 32 位,(0 到 4294967295) var v uint64// 64 位,(0 到 18446744073709551615)
带符号整型
1 2 3 4
var v int8// 8 位,(-128 到 127) var v int16// 16 位,(-32768 到 32767) var v int32// 32 位,(-2147483648 到 2147483647) var v int64// 64 位,(-9223372036854775808 到 9223372036854775807)
浮点数
1 2
var v float32// 32 位 var v float64// 64 位
复数
1 2
var v complex64// 带 float32 实部和虚部的复数 var v complex128// 带 float64 实部和虚部的复数
// 函数当作参数传递 func filter(slice []int32, fn isFunc) []int32 { var result []int32 for _, value := range slice { if fn(value) { result = append(result, value) } } return result }
func main() { slice := []int32{0, 1, 2, 3, 4, 5}
// 传递具体的函数 even := filter(slice, isEven) fmt.Println("偶数:", even)