【JKSJ49-3】数据类型

169 阅读1分钟

基本数据类型

数据类型
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))
}