学习Go后我的理解|青训营笔记

56 阅读2分钟

学完Go语言的基础语法感觉很简洁,但说不上简单,可能之前是学过C,让我的压力不是很大,但是后端却是第一次接触,去做老师带的项目的时候发现有点力不从心啦,但经过不断的反复观看还是慢慢理解了,重新学习一门语言真的很开心,能见识到不一样的语言,GO语言与c有很大的不同接下来我写下我的理解

  • Go语言中通过包来管理代码 Go语言没有.h文件的概念, 在Go中想使用某一个函数时, 只需要import导入对应的包即可
  • Go语言中函数、变量公私有管理 通过函数名称首字母大小写实现是否公开函数 通过变量名称首字母大小写实现是否公开变量
  • Go语言除了实现C语言中if、switch、for、return、break、continue、goto的基本功能以外,还对if、switch、for、break、continue进行了增强

接下来是我自己总结的用法

  • 1.go程序编写在.go为后缀的文件中
  • 2.包名一般使用文件所在文件夹的名称
  • 2.包名应该简洁、清晰且全小写
  • 3.main函数只能编写在main包中
  • 4.每一条语句后面可以不用编写分号(推荐)
  • 5.如果没有编写分号,一行只能编写一条语句
  • 6.函数的左括号必须和函数名在同一行
  • 7.导入包但没有使用包编译会报错
  • 8.定义局部变量但没有使用变量编译也会报错
  • 9.定义函数但没有使用函数不会报错
  • 10.给方法、变量添加说明,尽量使用单行注释

GO中的map就好像是python中的字典一样,我之前是写python的所以很快就发现相同, 读取一行输入的时候要用bufio.NewReader(os.Stdin)去读取,之后在去用strings.Trim(_,"\r\n")去删除回车,这个很重要,之前以为\n就行啦,没想到运行不起来,后来检查才发现端倪 go中的错误处理很灵性,用err可以返回错误,用于更好的反过来处理代码,很是不错, 还有接触Go后我学会了去用时间栈,用当前时间去处理一些事件会有事半功倍的效果时间栈的用法如下rand.Seed(time.Now().UnixNano())