Effective GO

一曲冷凌霜 提交于 2020-09-27 02:58:21

最近有人推荐Effective Go,这本书算是给初学者看的,因为已经看多很多Go方面的书了,所以再看这本书,总体收获较小,文章地址:https://learnku.com/docs/effective-go/2020

讲述的知识里,有几点印象深刻一些,在这里分享出来

  1. 格式化

    go fmt:https://www.jianshu.com/p/104b33439ac2

  2. new和make区别

    • new:用来分配内存的内建函数, 但与其它语言中的同名函数不同,它不会初始化内存,只会将内存置零。 也就是说,new(T) 会为类型为 T 的新项分配已置零的内存空间, 并返回它的地址,也就是一个类型为 *T
    • make:只用于创建切片、映射和信道,并返回类型为 T(而非 *T)的一个已初始化 (而非置零)的值。 出现这种用差异的原因在于,这三种类型本质上为引用数据类型,它们在使用前必须初始化
  3. 数组和切片的关系

    • 切片是对数组的引用

    • 如果切片范围没有超过数组长度,则两者可以认为是完全相同的东西

    • 如果切片范围超过数组长度,会自动创建一个新的底层数组,取消对原数组的引用,数组和切片便分隔开了

  4. type

    • type File struct/type Integer int:这是结构体,也是类型,实现了函数便是类
    • type IFile interface:这是接口,如果类中的函数包含接口中的函数,则这个类实现了该接口

资料

  1. https://blog.csdn.net/weixin_42266173/article/details/81749949
  2. https://studygolang.com/articles/27012?fr=sidebar 一篇文章理解 golang 中切片与数组的关系
  3. https://learnku.com/docs/effective-go/2020

最后

大家如果喜欢我的文章,可以关注我的公众号(程序员麻辣烫)

往期文章回顾:

算法

  1. 算法学习计划
  2. 蛮力法
  3. 分治法
  4. 减治法

技术

  1. 浅谈微服务
  2. TCP性能优化
  3. 限流实现1
  4. Redis实现分布式锁
  5. Golang源码BUG追查
  6. 事务原子性、一致性、持久性的实现原理
  7. CDN请求过程详解
  8. 记博客服务被压垮的历程
  9. 常用缓存技巧
  10. 如何高效对接第三方支付
  11. Gin框架简洁版
  12. InnoDB锁与事务简析

读书笔记

  1. 敏捷革命
  2. 如何锻炼自己的记忆力
  3. 简单的逻辑学-读后感
  4. 热风-读后感
  5. 论语-读后感

思考

  1. 对项目管理的一些看法
  2. 对产品经理的一些思考
  3. 关于程序员职业发展的思考
  4. 关于代码review的思考
  5. Markdown编辑器推荐-typora
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!