这是我参与「第五届青训营 」伴学笔记创作活动的第 1 天。
今天,在青训营里,主要学习了go语言的基础语法知识。对于已有学习过java和c++等语言知识的本人来说,再接触今天的课程确实比较轻松,更不用说go的语法与其他的语言语法还有许多的相似之处。因此,思来想去,实在是不想单纯地写一篇go语法总结的纯内容文章,对官网所已有go语法侃侃而谈;而是想写一篇学习go语言基础的注意点总结,方便自己之后对go语言知识进行查漏补缺。
Go语言基础注意点总结 | 青训营笔记
开发工具
- Vscode
- Goland
通常对于这两者,会更推荐后者,因为jetbrain工具中可以安装更多的插件和具有更优秀的集成编译环境。但笔者不想使用一款新的jetbrain开发工具,在迁移设置等方面会造成很大困扰;因此使用的是idea+go插件,根据网上分享,使用体验与goland无异。
package main
package main
package main定义了包名。 在一个go项目/模块中,主文件一定要引入main包,即每个Go应用程序都包含一个名为main的包。
函数调用
一般结构
通常,一个函数的结构是:
func A $name B C{
... //solve
}
使用方法是:A.name(B),会返回出C类型的结果。 值得注意的是,C类型,在go语言中,通常为指针类型,传入的参数B也通常为地址类型。这是go语言开发的规范。
defer与init
defer函数在运行末尾执行,init函数则是在运行初始时执行。
循环语法
for
for循环有许多种语法格式,如:
//1
for i:=0 ; i< n ; i++ { //注意没有括号
...
}
//2
for condition{ //如for A.Next()
...
}
//3
for { //死循环
...
}
//4 也支持for each语法
for i:= range arr{
//arr[i]
}