• 滴滴答答
    2021-06-17
    为什么函数参数尽量不用指针传递?如果是一个比较大的结构体,传指针不是更好吗?

    作者回复: 如果传指针存在被意外修改的风险,如果结构体很大,也可以传指针

    
    11
  • NULL
    2022-07-30 来自广东
    不认同的地方: 4.1字符串, 空字符串的判断 两种方式都可以 详见: https://stackoverflow.com/questions/18594330/what-is-the-best-way-to-test-for-an-empty-string-in-go 4.2切片, 空 slice 判断 应该是"如果你需要测试一个slice是否是空的,使用len(s) == 0来判断,而不应该用s == nil来判断" 详见Go语言圣经: https://books.studygolang.com/gopl-zh/ch4/ch4-02.html 描述不够准确定地方: 4.2切片, 声明 slice 描述不够准确 详见: https://github.com/golang/go/wiki/CodeReviewComments#declaring-empty-slices 补充: 可以根据需要指定cap, 减少内存分配次数, 降低gc压力, 如 make([]int, 0, 100) 6.函数, 尽量采用值传递,而非指针传递。 描述不够准确 详见: https://github.com/golang/go/wiki/CodeReviewComments#pass-values 6.1 函数参数, 尽量用值传递,非指针传递。 描述不够准确 详见: https://github.com/golang/go/wiki/CodeReviewComments#pass-values 6.函数, 传入参数是 map、slice、chan、interface ,不要传递指针。 描述不够准确, 如果是slice, 并且有append操作, 并且期望改变可以影响原函数, 应当传递指针 这与slice的底层结构有关, 两个value, 一个 pointer 这在"9.2 注意事项"第一条也有说明 详见: https://github.com/golang/go/blob/master/src/runtime/slice.go#L22 9. 最佳实践, 在编译时验证接口的符合性,例如: 描述不够准确 详见: https://github.com/xxjwxc/uber_go_guide_cn#toc8
    展开

    作者回复: 6666,我再check下

    共 2 条评论
    9
  • 苳冬
    2021-06-24
    驼峰命名 APIClient、UserID,如果遇到API+ID就是APIID这样连续两个全大写可读性很低啊

    作者回复: 那是不是可以把API换成更具体的API名字呢

    
    3
  • Vackine
    2021-06-17
    在1.2初始化结构体引用时,给的案例里面bad 和good的sval的方式是一模一样的啊?还有在切片初始化时不都建议提前制定容量,然后后面为什么在声明slice是时候,又不建议make的方式而用var 的方式?

    作者回复: 如果不指定切片的cap,建议用var s []string

    
    3
  • josephzxy
    2021-08-05
    想问1.2节里为什么“对于未导出的顶层常量和变量,使用 _ 作为前缀。”,有什么作用吗?首字母小写不是已经表明是未导出(unexported)了吗?谢谢!

    作者回复: 比如:_version,看到这种命令方式,你就知道:这是个全局的未导出的变量。可以协助你使用变量,也就是通过变量名,你能知道该变量的作用域以及是否可导出。

    共 4 条评论
    2
  • dll
    2021-06-30
    注释写中文才能说清楚的情况,该怎么规范注释呢

    作者回复: 统一规范即可,要么全写中文,要么全写英文

    
    2
  • Seven
    2021-06-26
    为方便团队都使用这份规范,需要写到开发文档里。请问这篇规范可以给个GitHub链接吗?这样方便更多人用,当然注明来自本课程也可以让更多人慕名学习。

    作者回复: 目前没有Github链接。我们考虑下,感谢建议。

    
    2
  • Geek_a4cca6
    2021-06-24
    老师,请问有学习班的群吗?

    作者回复: 有的,看下iam项目/README,有我微信号,加我,我拉你

    共 2 条评论
    2
  • Q
    2021-06-19
    空slice那里为啥要 先判断slice != nil 再判断 len(slice) > 0 呢?不判断不可以吗?

    作者回复: 因为nil的silce,len(slice)也是0。 空slice指的是:slice=make([]int,0)这种情况,也即是:slice不为nil,但长度为0的slice。

    共 4 条评论
    2
  • Fan
    2021-07-27
    请问go web 的项目结构目录有标准吗? 查资料查到一个社区标准(https://github.com/golang-standards/project-layout),但是褒贬不一。所以想问问您那的结构目录是怎么标准化的?

    作者回复: 基本上与这个项目保持一致:https://github.com/golang-standards/project-layout 可以加我微信,我们详细交流下。项目根目录下的README文件中,有我微信号

    
    1