类型转化
与其他编程语言差异
- Go语言不支持隐式类型转换
- 别名和原有类型也不能进行隐式类型转换
package type_test
import "testing"
type Myint int
func TestImplict(t *testing.T){
var a int32 = 1
var b int64
b = int64(a)
var c Myint
a = int32(c)
t.Log(a,b)
}
类型预定义的值
- math.MaxIn64
- math.MaxFloat64
- math.MaxUint32
指针类型
- 不支持指针运算
- string是值类型,其默认的初始化值为空字符串,而不是nil
package type_test
import "testing"
type Myint int
func TestImplict(t *testing.T){
var a int32 = 1
var b int64
b = int64(a)
var c Myint
a = int32(c)
t.Log(a,b)
}
func TestPoint(t *testing.T){
a := 1
aPtr := &a
//aPtr = aPtr + 1
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))
}