新开神途手游发布网站,昆明建设厅网站,wordpress 改成中文,做外贸网站哪家好什么是别名类型
我们可以用关键字 type 声明自定义的各种类型#xff0c;类似#xff1a;
type People struct {name stringage int
}当然了#xff0c;这些类型必须在 Go 语言基本类型和高级类型的范畴之内。
在它们当中#xff0c;有一种被叫做 ”别名类型” 的类型。…什么是别名类型
我们可以用关键字 type 声明自定义的各种类型类似
type People struct {name stringage int
}当然了这些类型必须在 Go 语言基本类型和高级类型的范畴之内。
在它们当中有一种被叫做 ”别名类型” 的类型。我们可以像下面这样声明它
type stringAlias string这条声明语句表示stringAlias 是 string 类型的别名类型。顾名思义别名类型与其源类型的区别恐怕只是在名称上它们是完全相同的。我们完全可以使用以下代码测试
func func10() {var s1 stringAlias 2v, ok : interface{}(s1).(string)fmt.Println(ok)fmt.Println(v)fmt.Println(reflect.TypeOf(s1))
}output:
true
2
string从代码结果来看stringAlias 以及 string 实际上就是同一种类型。
延伸
如果我们这么定义呢
type stringAlias1 string还是使用上面的例子进行测试
func func11() {var s1 stringAlias1 2v, ok : interface{}(s1).(string)fmt.Println(ok)fmt.Println(v)fmt.Println(reflect.TypeOf(s1))
}output
falsemain.stringAlias1我们可以从输出看出来这里的 stringAlias1 和 string 是完全两种类型。这种我们叫类型的重定义。