赞
踩
Go语言通过type关键字定义自定义类型。自定义类型是全新的类型。
示例:
// 将newInt定义为int类型
type newInt int
func main() {
var a newInt
a = 100
fmt.Println(a) // 100
fmt.Printf("%T\n", a) // main.newInt
}
上例中的newInt是具有int特性的新类型。可以看到变量a的类型是main.newInt,这表示main包下定义的newInt类型。
语法格式:type 别名 = Type
示例:
type tempString = string
func main() {
var s tempString
s = "我是s"
fmt.Println(s) // 我是s
fmt.Printf("%T\n", s) // string
}
上例中,tempString是string的别名,其本质上与string是同一个类型。类型别名只会在代码中存在,编译完成后不会有如tempString一样的类型别名。所以变量s的类型是string。
字符类型中的byte和rune就是类型别名:
type byte = uint8
type rune = int32
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。