第一部分 入门了解
一、go安装与环境变量配置
下载安装:
根据电脑配置去官网下载安装包安装即可,安装过程中会提示是否将 go 添加到环境变量,选择添加或者后期自己进行配置。
环境变量配置
-
1、GOROOT: go sdk路径(也就是你安装 go 的路径,例如 C:\Go),这个环境变量是可选的,如果你安装 go 时选择了将 go 添加到环境变量,那么 GOROOT 就会自动配置好,不需要手动设置。
-
2、GOPATH: go工作目录路径(以后所有go相关的项目都可以放在这里)
-
3、PATH: 在环境变量的path中添加 %GOROOT%\bin 和 %GOPATH%\bin(目的是为了方便在任何位置都能调用go命令)
-
4、备注:
-
4.1、 GOROOT/bin中包含 go.exe 、 godoc.exe 、 gofmt.exte 等 go sdk 的工具
-
4.2、 GOPATH/bin 是 go get 下载的第三方库的可执行文件存放目录
-
-
5、查看安装是否成功:在终端中输入
go version,如果显示 go 的版本信息,则说明安装成功并且环境变量配置正确。 -
6、查看 GOROOT 和 GOPATH 的值:在终端中输入
go env,可以查看 go 的环境变量配置,其中 GOROOT 和 GOPATH 的值会显示在输出中。
二、编写一个简单的 go 代码并运行
-
在 GOPATH/src 目录下创建一个新的文件夹作为项目目录,进入该目录后创建一个新的 go 文件,例如
main.go,并在其中编写 go 代码。 -
使用
go run main.go来运行 go 程序,或者使用go build来编译生成可执行文件。 -
备注:
-
一个文件夹下的文件的包名必须一致,且包名不能为 main,否则会报错
package main should not be imported。建议文件夹的命名和包名保持一致,例如package main的文件夹命名为main,package utils的文件夹命名为utils。 -
文件名和目录的命名建议使用小写字母和下划线的组合,例如
main.go、utils.go、table_utils
-
-
代码
// main.go 代码
package main // 包名
import "fmt" // 导入 fmt 包
/*
main 函数是 go 程序的入口函数,程序从 main 函数开始执行。
每个 go 程序必须包含一个 main 包,并且在 main 包中必须有一个 main 函数。
main 函数没有参数,也没有返回值,函数体内包含了程序的主要逻辑代码。
当运行 go 程序时,go 运行时会自动调用 main 函数来启动程序的执行。
*/
func main() { // 定义 main 函数
// fmt.Println 是 fmt 包中的一个函数,用于在控制台输出文本内容。
fmt.Println("hello, this is a main function") // 输出 hello, this is a main function
}
转义符
-
换行符
\n -
制表符
\t -
双引号
\" -
反斜杠
\\ -
回车符
\r -
退格符
\b -
垂直制表符
\v
注释
-
单行注释:以
//开头,后面跟注释内容,例如// 这是一个单行注释 -
多行注释:以
/*开头,以*/结尾,注释内容可以跨多行,例如
gofmt 格式化代码
-
作用:gofmt 是 go 语言自带的代码格式化工具,用于自动格式化 go 代码,使其符合 go 语言的编码规范,提高代码的可读性和一致性。
-
使用:在终端中进入到包含 go 代码的目录,运行
gofmt -w <filename.go>命令,其中<filename.go>是你想要格式化的 go 文件的名称,例如gofmt -w main.go。执行该命令后,gofmt 将会自动格式化 main.go 文件中的代码,并将格式化后的代码覆盖原文件。你也可以使用gofmt -w .来格式化当前目录下的所有 go 文件。
常用 DOS 命令
1、windows (待整理)
打开目录 cd <目录路径>
返回上一级 cd ..
创建目录 md <目录名>
删除空目录 rd <目录名>
删除非空目录 rd \q\s <目录名>
创建文件 echo "内容" > 1.txt
删除文件 del 1.txt
列出目录内容 dir
复制文件到另一个位置 copy 1.txt d:\test\a
复制文件到另一个位置并重命名 copy 1.txt d:\test\a\2.txt
移动文件到另一个位置 mv 1.txt d:\test\a
移动文件到另一个位置并重命名 mv 1.txt d:\test\a
显示文本文件的内容
编辑文本文件的内容
编辑文本文件的内容并保存
编辑文本文件的内容并保存为另一个文件
编辑文本文件的内容后,退出不保存
清空屏幕
退出
2、macos
打开目录 cd <目录路径>
返回上一级 cd ..
创建目录 mkdir <目录名>
删除空目录 rmdir <目录名>
删除非空目录 rmdir -rf <目录名>
列出目录内容 ls
创建文件: touch <文件名>
删除文件: rm <文件名>
复制文件到另一个位置: cp 文件名 目标路径 例如:cp a1.txt ~/Desktop/ttt/a
复制文件到另一个位置并重命名: cp 文件名 目标路径/新名 例如:cp a1.txt ~/Desktop/ttt/a/1.txt
移动文件到另一个位置:mv 文件名 目标路径 例如: mv 1.txt ~/Desktop/ttt/b
移动文件到另一个位置并重命名:mv 文件名 目标路径/新名 例如:mv 1.txt ~/Desktop/ttt/b/22.txt
显示文本文件的内容:cat <文件名> 例如:cat a1.txt
编辑文本文件的内容:vim <文件名> 例如:vim a1.txt 后,按 i 进入编辑模式,编辑完成后按 esc 键退出编辑模式,输入 :wq 保存并退出,输入 :q! 退出不保存
清空屏幕: clear
退出: meta键+q
扩展:使用 go mod init 初始化一个新的 go module
-
作用:在当前目录下创建 go.mod 文件,初始化一个新的 go module,并将当前目录设置为 module 的根目录。
-
使用:在终端中进入到项目的根目录,运行
go mod init <module_name>命令,其中<module_name>是你想要为你的 module 指定的名称,通常是你的项目的路径,例如github.com/username/projectname。执行该命令后,go.mod 文件将被创建,并且你可以在其中管理你的项目的依赖关系。
- 在 GOPATH/src 目录下创建一个新的文件夹作为项目目录,进入该目录后执行 `go mod init <module_name>` 来初始化一个新的 go 模块。
- 在项目目录下创建一个新的 go 文件,例如 `main.go`,并在其中编写 go 代码。
- 使用 `go run main.go` 来运行 go 程序,或者使用 `go build` 来编译生成可执行文件。
扩展:使用 go get 下载第三方库
-
作用:在 go module 中添加一个新的依赖项,并将其下载到本地的 go module 缓存中。
-
使用:在终端中进入到项目的根目录,运行
go get <package_path>命令,其中<package_path>是你想要添加的依赖项的路径,例如github.com/sirupsen/logrus。执行该命令后,go.mod 文件将被更新以包含新的依赖项,并且该依赖项将被下载到本地的 go module 缓存中。
- 在项目目录下执行 `go get <package_path>` 来下载第三方库,例如 `go get github.com/sirupsen/logrus`。
- 使用 `import "<package_path>"` 来在 go 代码中导入该库,例如 `import "github.com/sirupsen/logrus"`。