基本数据类型
| 数据类型 |
|---|
| bool |
| string |
| int int8 int16 int32 int64 |
| uint uint8 uint16 unint32 uint64 uintptr |
| byte //uint8的别名 |
| rune //int32的别名,表示一个Unicode字符 |
| float32 float64 |
| complex64 complex128 |
类型转换
1.不支持隐式类型转换,只支持显示类型转换
2.别名和原有类型也不能进行隐式类型转换
如以下代码所示:
type MyInt int64
func TestImplicit(t *testing.T) {
var a int32 = 1
var b int64
b = int64(a)
var c MyInt
c = MyInt(b)
t.Log(a, b, c)
}
类型的预定义值
1.math.MaxInt54
2.math.MaxFloat64
3.math.MaxUint32
指针类型
1.不支持指针运算 2.string是值类型,默认的初始化值为空字符串,不是nil
如以下代码所示:
func TestPoint(t *testing.T) {
a := 1
aPtr := &a
t.Log(a, aPtr)
t.Logf("%T %T", a, aPtr)
}
func TestString(t *testing.T) {
var s string
t.Log("*" + s + "*")
t.Log(len(s))
}