Golang 之区分类型别名与类型定义
Caesar_fbc8 · · 2601 次点击 · · 开始浏览一、类型别名
type byte=uint8
type rune=int32
二、区别类型别名和类型定义
// 自定义类型myInt,基本类型是int
type myInt int
//将 int 类型取一个别名intAlias
type intAlias = int
func main() {
var a myInt //声明 a变量为自定义 myInt 类型
fmt.Printf("a Type: %T, value: %d\n", a, a) // 输出 a 的类型和默认值
var b intAlias //声明 b变量为 intAlias 类型
fmt.Printf("b Type: %T, value: %d\n", b, b) // 输出 b 的类型和默认值
}
== 输出结果 ==
a Type: main.myInt, value: 0
b Type: int, value: 0
从上面的结果我们可以看出:
a 的类型是 main.myInt,表示main 包下定义的myInt 类型
b 的类型是 int 。intAlias 类型只会在代码中存在,编译完成时,不会有 intAlias 类型
有疑问加站长微信联系(非本文作者)
入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889
关注微信- 请尽量让自己的回复能够对别人有帮助
- 支持 Markdown 格式, **粗体**、~~删除线~~、
`单行代码` - 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
- 图片支持拖拽、截图粘贴等方式上传
收入到我管理的专栏 新建专栏
一、类型别名
type byte=uint8
type rune=int32
二、区别类型别名和类型定义
// 自定义类型myInt,基本类型是int
type myInt int
//将 int 类型取一个别名intAlias
type intAlias = int
func main() {
var a myInt //声明 a变量为自定义 myInt 类型
fmt.Printf("a Type: %T, value: %d\n", a, a) // 输出 a 的类型和默认值
var b intAlias //声明 b变量为 intAlias 类型
fmt.Printf("b Type: %T, value: %d\n", b, b) // 输出 b 的类型和默认值
}
== 输出结果 ==
a Type: main.myInt, value: 0
b Type: int, value: 0
从上面的结果我们可以看出:
a 的类型是 main.myInt,表示main 包下定义的myInt 类型
b 的类型是 int 。intAlias 类型只会在代码中存在,编译完成时,不会有 intAlias 类型