Golang入门到项目实战golang类型定义和类型别名
在介绍结构体之前,我们先来看看什么是类型定义和类型别名。go语言类型定义
类型定义的语法type NewType Type
实例package main import "fmt" func main() { // 类型定义 type MyInt int // i为MyInt类型 var i MyInt i = 100 fmt.Printf("i: %v i: %T ", i, i) }
运行结果[Running] go run "/Users/guoliang/SynologyDrive/软件开发/go/golang入门到项目实战/goproject/360duote.com/pro01/test.go" i: 100 i: main.MyInt go语言类型别名
类型别名的语法type NewType = Type
实例package main import "fmt" func main() { // 类型别名定义 type MyInt2 = int // i其实还是int类型 var i MyInt2 i = 100 fmt.Printf("i: %v i: %T ", i, i) } go语言类型定义和类型别名的区别类型定义相当于定义了一个全新的类型,与之前的类型不同;但是类型别名并没有定义一个新的类型,而是使用一个别名来替换之前的类型类型别名只会在代码中存在,在编译完成之后并不会存在该别名因为类型别名和原来的类型是一致的,所以原来类型所拥有的方法,类型别名中也可以调用,但是如果是重新定义的一个类型,那么不可以调用之前的任何方法