关于go的类型定义和类型别名

binlihpu · · 150 次点击 · 开始浏览    置顶
``` package main import "log" //S . type S map[string]string //SS . type SS = map[string]string func main() { s := map[string]string{ "1": "111", "2": "222", } log.Printf("s type:%T,value:%#v\n", s, s) var ss S ss = s log.Printf("ss type:%T,value:%#v\n", ss, ss) var sss SS sss = s log.Printf("sss type:%T,value:%#v\n", sss, sss) } ``` 运行结果: ``` $ go run . 2020/10/10 13:42:24 s type:map[string]string,value:map[string]string{"1":"111", "2":"222"} 2020/10/10 13:42:24 ss type:main.S,value:main.S{"1":"111", "2":"222"} 2020/10/10 13:42:24 sss type:map[string]string,value:map[string]string{"1":"111", "2":"222"} ``` 为什么ss = s这条语句可以赋值成功,类型定义不是新的类型吗?

有疑问加站长微信联系

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:812540095

150 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传