零基础 go - 01(入门)

3 阅读6分钟

第一部分 入门了解

一、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 的文件夹命名为 mainpackage utils 的文件夹命名为 utils

    • 文件名和目录的命名建议使用小写字母和下划线的组合,例如 main.goutils.gotable_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"`。