为类型定义别名
type myInt = intvar a myIntfmt.Printf("%T\n", a) // 结果:int
这里的type只是为int定义了一个别名myInt,本质上还是int。
基于一个已有的类型定义一个新的类型
type myFloat64 float64 // 只是比上面那种少了个等号var b myFloat64fmt.Printf("%T\n", b) // 结果:main.myFloat64
这里确确实实是定义了一个新的类型,只不过这个类型的底层实现和float64完全一样。
定义结构体
type Student struct {}
定义接口
type Callable interface {}
为函数定义别名
type handle func(i int)
