01初学Go语言 | 青训营笔记

94 阅读2分钟

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

一、Go语言的安装(Windows)

访问 go.dev/ ,点击 Download ,下载对应平台安装包,点击后如图所示

image.png

依据对应的系统选择即可,笔者选择的是Windows版本。PS: 这里在版本选择和下载时可能会产生一些问题,见"一些问题"中的说明。
windows下的Go安装只要根据实际设定安装路径,其他狂点下一步就行。

二、配置 Go 语言开发环境

可以选择安装 VS Code , 或者 Goland ,对于 VS Code,需要安装 Go 插件
笔者已有vscode,因此选择在其中安装Go插件

image.png

添加goproxy代理,Goproxy.cn

C:\> $env:GO111MODULE = "on"
C:\> $env:GOPROXY = "https://goproxy.cn"
#-------下面这个也可以-------
go env -w GO111MODULE=on
go env -w GOPROXY=https://goproxy.cn

安装vscode中go语言辅助工具 PS:一般打开go项目vscode右下角会有提示,直接install就行

go install github.com/go-delve/delve/cmd/dlv@latest
go install honnef.co/go/tools/cmd/staticcheck@latest
go install golang.org/x/tools/gopls@latest

三、下载示例代码

  1. 安装 git,安装教程
  2. 打开 github.com/wangkechun/… 克隆课程示例项目
  3. 进入课程示例项目代码目录,运行 go run example/01-hello/main.go 如果正确输出 hello world,则说明环境配置正确

image.png

四、项目实践要点

  • 猜谜游戏:

    1. rand.Intn()来生成随机数,用时间戳来更新rand的种子数
    2. 读取一行:bufio.NewReaderreader.ReadString;去掉换行符:strings.TrimSuffix;转换成数字:strconv.Atoi
    3. for循环的应用
  • 在线词典

    1. 抓包and代码生成,代码生成网站
      创建请求->设置请求头->发起请求->读取响应
    2. 生成request body->解析response body,代码生成网站json2go
    3. 打印想要的结果
  • socks5代理服务器

    1. socks5是明文传输
    2. socks5原理

    image.png

    1. TCP echo server->auth->请求阶段->relay阶段
    2. context机制

一些问题

  1. Go语言安装版本选择
    根据该文章的建议,Go语言安装版本依据学习环境还是生产环境而定。
    学习环境:建议采用最新版本,Go 语言团队世界大厂傍身,Google自家产品。发布的版本质量较高,很少有重大bug出现。
    生产环境:建议采用次新版,即最新版本的上一个版本。比如,当前最新版本是 Go 1.19,那么项目可以采用 Go 1.18版本
    因为目前笔者主要是学习Go语言为主,选择安装最新(1.19.5)版本。
  2. Go下载链接打不开
    方法1:使用代理
    方法2:可以改为访问 studygolang.com/dl 下载安装
  3. github链接打不开 可以使用代理
  4. 安装完Go后,vscode的cmd终端里的相关环境变量不生效
    • 最简单的方法:重启计算机;

    • 如果不想重启机器,可以先关闭 vscode,然后打开一个新的命令行窗口,输入 code 并回车。 此时会打开一个新的 vscode,在此 vscode 的终端可以看到环境变量已经刷新了。