目录
- 概述
- basic types
- 总结
- 例子
- Zero values
- 总结
- 例子
- 类型转换
- 总结
- 例子
- 结束
概述
go 版本: go1.20.13
basic types
总结
基本类型如下:
boolstringint int8 int16 int32 int64
uint uint8 uint16 uint32 uint64 uintptrbyte // alias for uint8rune // alias for int32// represents a Unicode code pointfloat32 float64complex64 complex128
int、uint、uintptr类型在 32 位系统上是 32位,在 64 位系统上是64位,当需要一个 int 数值时,应使用 int ,除非有理由需要使用无符号 int 类型。
例子
package mainimport ("fmt""math/cmplx"
)var (ToBe bool = falseMaxInt uint64 = 1<<64 - 1z complex128 = cmplx.Sqrt(-5 + 12i)
)func main() {fmt.Printf("Type: %T Value: %v\n", ToBe, ToBe)fmt.Printf("Type: %T Value: %v\n", MaxInt, MaxInt)fmt.Printf("Type: %T Value: %v\n", z, z)
}
结果如下:
Zero values
总结
在没有显式初始值的情况下声明的变量将被赋予零值。
- 数字类型值为 0
- boolean 类型为 false
- 字符串为 “”
例子
package mainimport "fmt"func main() {var i intvar f float64var b boolvar s stringfmt.Printf("%v %v %v %q\n", i, f, b, s)
}
结果如下:
类型转换
总结
语法 T(v)
将 v
转成类型 T
// 标准写法
var i int = 42
var f float64 = float64(i)
var u uint = uint(f)// 简写
i := 42
f := float64(i)
u := uint(f)
例子
package mainimport ("fmt""math"
)func main() {var x, y int = 3, 4var f float64 = math.Sqrt(float64(x*x + y*y))var z uint = uint(f)fmt.Println(x, y, z)
}
结束
go 基础类型 至此结束,如有疑问,欢迎评论区留言。