类型转化
与其他编程语言差异
- 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))
}
本文介绍了Go语言中不支持隐式类型转换的特点,强调了别名类型和原始类型之间的转换必须显式进行。同时,文章提及Go语言中预定义类型的值,如math.MaxInt64,并指出Go语言中的指针不支持指针运算。此外,还讨论了字符串是值类型且默认初始化为空字符串,而非nil。

被折叠的 条评论
为什么被折叠?



