Go语言基础注意点总结 | 青训营笔记

157 阅读2分钟

寒训进程表.png

这是我参与「第五届青训营 」伴学笔记创作活动的第 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]
}

待补充