既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上Go语言开发知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
块注释
/*
块注释
*/
包的注释
- 每个包的前面都应该有注释,来说明包的作用,例如,我写的包datastructure/singlelist中就有包的注释,对应文章:Go-如何优雅的实现单链表?(含全部代码)
/* 数据结构:单链表 author:lady_killer9 博客:https://blog.csdn.net/lady_killer9 增:尾插、头插、指定元素后插 删:头删、尾删、指定元素后删 头结点、尾节点:返回头结点、尾节点 长度:链表长度 查找:查找第一个val // 遍历: // for e := lst.Front(); e != nil; e = e.Next() { // // do something with e.Val // } */ package singlelist
函数的注释
每个函数前都应该有注释,说明函数的功能(以函数名开头,方便使用godoc查找),参数,返回值
//Plus will return a+b
// a:a number
//b:another number
//return: a+b
func Plus(a,b int) int
可导出的变量的注释
每个可导出的变量(首字母大写)都应该有注释
命名规范
- 由26个英文字母大小写,0-9,组成,数字不可以开头
- Golang中严格区分大小写
- 标识符不能包含空格
- 下划线”_”本身在Go中是一个特殊的标识符,称为空标识符。可以代表任何其它的标识符,但是它对应的值会被忽略(比如:忽略某个返回值)。所以仅能被作为占位符使用,不能作为标识符使用
- 不能以系统保留关键字作为标识符,比如break,if 等等.…
包名
小写单词,简短有意义,尽量和所在文件夹名一致,不要和标准库冲突
-Go
----src
--------errors
-------------errors.go===>package errors
包名为 main 的包为应用程序的入口包
文件名
小写单词,下划线分隔
变量名/函数名/常量名
本包内:
驼峰法:第一个单词小写,如果后面有单词,首字母大写
包外可访问:
帕斯卡命名:每个单词都首字母大写
方法名
对于结构体的方法,和函数基本一致,Getter和Setter方法需要以Get或Set为前缀,例如,某结构体有name属性,对应的Getter和Setter方法名为GetName、SetName
结构体转为字符串的方法命名为String
接口
接口名称建议加er后缀,如 Reader
、Writer
、 Formatter
、CloseNotifier
等,当然在标准库中我也看到过没有er后缀的接口。
分号
for中的使用很常见,由于if和switch接受初始化语句,也可使用 ; 分隔,例如,if中使用分号
if err:=recover();err!=nil{
return err
}
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
不再深入研究,那么很难做到真正的技术提升。**
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!