切换导航
新动弹计划
搜索
文章
动弹
排行榜
登录
注册
×
搜索
文章
动弹
热门关键词
重读《掌控习惯》
ChatGPT
Docker
Laravel
读书
跑步
#daily tips#
#稍后阅读#
Falcon
主页
文章
动弹
冒泡
文集
FalconChen
2018-09-02 13:13
动弹
"是使用值接收者还是指针接收者,不应该由该方法是否修改了接收到的值来决定。这个决策应该基于该类型的本质。这条规则的一个例外是,需要让类型值符合某个接口的时候,即便类型的本质是非原始本质的,也可以选择使用值接收者声明方法。"
#viaKindle#
0 赞
1 评论
查看
FalconChen
2018-09-02 11:15
动弹
"要围绕相关的内置类型或者引用类型来声明用户定义的行为时,直接基于已有类型来声明用户定义的类型会很好用。编译器只允许为命名的用户定义的类型声明方法,"
#viaKindle#
0 赞
1 评论
查看
FalconChen
2018-09-02 11:12
动弹
"每个引用类型还包含一组独特的字段,用于管理底层数据结构。因为标头值是为复制而设计的,所以永远不需要共享一个引用类型的值。标头值里包含一个指针,因此通过复制来传递一个引用类型的值的副本,本质上就是在共享底层数据结构。"
#viaKindle#
0 赞
1 评论
查看
FalconChen
2018-09-02 11:11
动弹
"Go语言里的引用类型有如下几个:切片、映射、通道、接口和函数类型。当声明上述类型的变量时,创建的变量被称作标头(header)值。从技术细节上说,字符串也是一种引用类型。每个引用类型创建的标头值是包含一个指向底层数据结构的指针。"
#viaKindle#
0 赞
1 评论
查看
FalconChen
2018-09-02 11:04
动弹
"如果是要创建一个新值,该类型的方法就使用值接收者。如果是要修改当前值,就使用指针接收者。这个答案也会影响程序内部传递这个类型的值的方式:是按值做传递,还是按指针做传递。保持传递的一致性很重要。这个背后的原则是,不要只关注某个方法是如何处理这个值,而是要关注这个值的本质是什么。"
#viaKindle#
0 赞
1 评论
查看
FalconChen
2018-09-02 10:59
动弹
"Go语言既允许使用值,也允许使用指针来调用方法,不必严格符合接收者的类型。这个支持非常方便开发者编写程序。"
#viaKindle#
0 赞
1 评论
查看
FalconChen
2018-09-02 10:57
动弹
"值接收者使用值的副本来调用方法,而指针接受者使用实际值来调用方法。"
#viaKindle#
0 赞
1 评论
查看
FalconChen
2018-09-02 10:43
动弹
"两种不同类型的值即便互相兼容,也不能互相赋值。编译器不会对不同类型的值做隐式转换。"
#viaKindle#
0 赞
1 评论
查看
FalconChen
2018-09-02 10:41
动弹
"Duration类型的声明中,我们把int64类型叫作Duration的基础类型。不过,虽然int64是基础类型,Go并不认为Duration和int64是同一种类型。这两个类型是完全不同的有区别的类型。"
#viaKindle#
0 赞
1 评论
查看
FalconChen
2018-09-02 10:35
动弹
"任何时候,创建一个变量并初始化为其零值,习惯是使用关键字var。这种用法是为了更明确地表示一个变量被设置为零值。如果变量被初始化为某个非零值,就配合结构字面量和短变量声明操作符来创建变量。"
#viaKindle#
0 赞
1 评论
查看
930
931
932
933
934