一、基础
1、 下载、安装、配置环境
① 下载
下载Go语言的安装环境:安装包下载地址为:https://golang.org/dl/。
如果打不开可以使用这个地址:Downloads - The Go Programming Language。
根据自己的电脑系统,选择安装包。
我自己的电脑是Windows 系统选择的安装包是这个:
注意:要看好自己的系统下载安装包。
② 安装
Windows版本安装过程比较简单,只需要全程点击下一步就可以。
Mac OS版参考:Mac安装go语言环境 - 简书 (jianshu.com)
Linux版参考:Ubuntu--> (1条消息) Linux(Ubuntu)下配置go开发环境夕阳与影的博客-CSDN博客ubuntu配置go开发环境
其他版本请:www.baidu.com
③ 配置
我的Go安装在D:\go
需要在系统的环境变量中添加一下内容
鼠标右键单击此电脑--->属性--->高级系统设置--->环境变量
GOPATH和GOROOT填写完毕后,点击Path,然后点击编辑,弹出窗口后在旁边点击新建
GOPATH和GOROOT参考:(1条消息) 彻底搞懂golang的GOROOT和GOPATH知更鸟女孩的博客-CSDN博客go 的goroot和gopath
环境变量配置完成后,我们打开命令行窗口输入 go env 出现类似的内容就算配置成功了
2、编辑器配置
本人使用的是Visual Studio Code(VS Code),没有接触其他编辑器。
在VS Code中安装扩展
安装完毕后 ctrl+shfit+p 调出命令板 输入Go:install
,选择Go:install/Update Tools
,等待安装完毕
如果出现错误,打开命令行输入以下内容,然后重新安装(若失败,则重启编辑器,重新安装扩展,或打开一个go类型文件。ps:最后一条不一定有效,但还是要加上)
go env -w GO111MODULE=on go env -w GOPROXY=https://goproxy.cn,direct
到此,创建一个go类型的文件,测试一下
在D:\goPro中创建 test.go
package main
import "fmt"
func main() {
fmt.Println("Hello, World!")
}
在该文件夹目录下,打开cmd ,输入 go run test.go
如果编辑器提示:
CreateFile xxx.go: The system cannot find the file specified.
只需要在命令行窗口输入:go env -w GO111MODULE=auto
2、基础语法
以上文的test.go为例
package main
import "fmt"
func main() {
fmt.Println("Hello, World!")
}
第一行代码 package main 定义了包名。你必须在源文件中非注释的第一行指明这个文件属于哪个包,如:package main。package main表示一个可独立执行的程序,每个 Go 应用程序都包含一个名为 main 的包。
下一行 import "fmt" 告诉 Go 编译器这个程序需要使用 fmt 包(的函数,或其他元素),fmt 包实现了格式化 IO(输入/输出)的函数。
下一行 func main() 是程序开始执行的函数。main 函数是每一个可执行程序所必须包含的,一般来说都是在启动后第一个执行的函数(如果有 init() 函数则会先执行该函数)。
下一行 /.../ 是注释,在程序执行时将被忽略。单行注释是最常见的注释形式,你可以在任何地方使用以 // 开头的单行注释。多行注释也叫块注释,均已以 /* 开头,并以 */ 结尾,且不可以嵌套使用,多行注释一般用于包的文档描述或注释成块的代码片段。
下一行 fmt.Println(...) 可以将字符串输出到控制台,并在最后自动增加换行字符 \n。 使用 fmt.Print("hello, world\n") 可以得到相同的结果。 Print 和 Println 这两个函数也支持使用变量,如:fmt.Println(arr)。如果没有特别指定,它们会以默认的打印格式将变量 arr 输出到控制台。
当标识符(包括常量、变量、类型、函数名、结构字段等等)以一个大写字母开头,如:Group1,那么使用这种形式的标识符的对象就可以被外部包的代码所使用(客户端程序需要先导入这个包),这被称为导出(像面向对象语言中的 public);标识符如果以小写字母开头,则对包外是不可见的,但是他们在整个包的内部是可见并且可用的(像面向对象语言中的 protected )。
注意:代码中的'{',不可以单独放一行
保持学习!
Keep learning!