Go语言学习之数据类型

Go语言学习之数据类型


数据类型的转换

1.Go语言不允许隐式类型转换(显示转换才可以)
2.别名和原有类型也不能进行隐式类型转换

例子:

func TestImplicit(t *testing.T){
	var a int  = 1
	var b int64
	//b = a           //a和b数据类型不一致,隐式转换就失败
	b = int64(a)      //显式转换才可以
	t.Log(a, b)
}

指针类型

1.不支持指针运算

例子:

//指针不能运算
func TestPoint(t *testing.T){
	a := 1
	aPtr := &a   //指针就是取a的地址
	//aPtr = aPtr + 1  错误,指针不能进行运算
	t.Log(a, aPtr)
}

2.string是值类型,默认值是空字符串,不是nil

例子:

//空字符串初始值为string,并不是nil
func TestString(t *testing.T){
	var s string  //定义一个字符串类型的值s
	t.Log("*"+s+"*")  //看这值是否为 **
	t.Log(len(s))  //查看s的长度,为0
}
posted @ 2019-07-17 12:56  alisleepy  阅读(125)  评论(0编辑  收藏  举报