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
}

猜你喜欢

转载自www.cnblogs.com/alisleepy/p/11200316.html