类型定义和类型别名的使用场景或者注意
来源:9-5 测试http服务器(下)

qq_白澤_0
2020-06-02
这里回顾发现之前老师定义userError为一种新类型
type userError string
而之前也讲过类型别名
type userError = string
直观理解前者是一个新类型,后者是同一个东西不同叫法。
之前老师讲的结构体别名扩展,实际上是类型定义吧,上面的第一种,课程没涉及到上面第二种做法,不太理解第二种go语言设计的意图。
这两个主要用途区别是什么?
写回答
1回答
-
同学的理解是正确的。
我之前讲的别名扩展,也是一种类型定义,userError是一个新的类型,它不是stirng。不是那样用=的别名。
=那个一般不用,=就真的是一个别名。就是给类型起一个别的名字。它主要是为了大规模代码重构。我的类型改名,或者我想迁移到另一个api,因为涉及面太广我先起一个别名,让新旧名字同时能工作,再慢慢把旧名字的引用删掉。
00
相似问题