GO语言配置和基础语法

99 阅读4分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第1天

一、golang的下载和安装

这一步比较简单,直接打开go的官网,点击download即可,个别人打开慢可以用中国的镜像网站,之后访问的速度和下载第三方库的速度会快很多,之后傻瓜式安装一路到底即可。

配置环境变量 

 注意:如果是msi安装文件,Go语言的环境变量会自动设置好。

****我的电脑----右键“属性”----“高级系统设置”-----“环境变量”----“系统变量” 

 现在假设Go安装在C盘跟目录下 

 新建: 

GOROOT : Go安装路径(例如:C:\Go) 

GOPATH:Go工程的路径(例如:E\go)。如果有多个,就以分号分隔添加 

Path:在path中添加:C:\Go\bin;%GOPATH%\bin 需要把GOPATH中的可执行目录也配置到环境变量中,否则你自行下载的第三方go工具就无法使用了。 

工作目录就是我们用来存放开发的源代码的地方,对应的也是Go里的GoPATH这个环境变量。这个环境变量指定之后,我们编译源代码等生成的文件都会放到这个目录下,GOPATH环境变量的配置参考上面的安装Go,配置到Windows下的系统变量里。 

GOPATH之下主要包含三个目录:bin、pkg、src。bin目录主要窜犯可执行文件;pkg目录存放编译好的库文件,主要是*.a文件;src目录下主要存放Go的源文件。 

二、查看是否安装配置成功。 使用快捷键win+R键,输入cmd,打开命令行提示符,在命令行输入 go env #查看得到go的配置信息 go version #查看go的版本号 

配置go的编译器或IDE

虽然貌似vscode使用最广泛??但是我个人实在是用不惯vscode,所以我选用goland,习惯了那一套操作逻辑,并且确实他的自动化程度比较高一点hh。

再来一个所有程序猿的浪漫吧,入门的hello world程序

package main

import (
   "fmt"
)

func main() {
   fmt.Println("hello world")
}

1.第一行代码 package main 定义了包名。你必须在源文件中非注释的第一行指明这个文件属于哪个包,如:package main。package main表示一个可独立执行的程序,每个 Go 应用程序都包含一个名为 main 的包,main包就是程序的入口。

2.下一行 import “fmt” 告诉 Go 编译器这个程序需要使用 fmt 包(的函数,或其他元素),fmt 包实现了格式化 IO(输入/输出)的函数。

3.下一行 func main() 是程序开始执行的函数。main 函数是每一个可执行程序所必须包含的,一般来说都是在启动后第一个执行的函数(如果有 init() 函数则会先执行该函数)。

4.下一行 /…/ 是注释,在程序执行时将被忽略。单行注释是最常见的注释形式,你可以在任何地方使用以 // 开头的单行注释。多行注释也叫块注释,均已以 /* 开头,并以 */ 结尾,且不可以嵌套使用,多行注释一般用于包的文档描述或注释成块的代码片段。

5.下一行 fmt.Println(…) 可以将字符串输出到控制台,并在最后自动增加换行字符 \n。 使用 fmt.Print(“hello, world\n”) 可以得到相同的结果。 Print 和 Println 这两个函数也支持使用变量,如:fmt.Println(arr)。如果没有特别指定,它们会以默认的打印格式将变量 arr 输出到控制台。

注意

需要注意的是 { 不能单独放在一行,代码在运行时会产生错误

Go语言中,如果只有一个文件,那package必须是 main,否则会报错。

Go是一门支持多返回值的语言,这使得它可以将真正的返回值和error分开返回,这同样也使得error的处理很难自动化进行,我们必须在err != nil的时候手动结束函数流程。同样,Go语言的error也是非常灵活和自然的。你会发现在Go语言中处理error不需要任何额外的语法,而且不需要扩展if的语义。至于错误应该何时传播,何时终止传播,何时处理,这并不是Go语言的问题,而是所有语言的问题。

当出现不等于nil的时候,说明出现某些错误了,需要我们对这个错误进行一些处理

if err != nil {
    //运行异常错误
    // do something....
}

当出现等于nil的时候,说明出现运行正常,可以正常编写业务逻辑代码

if err == nil {
    //运行正常
    // do something....
}