这是我参与「第三届青训营 -后端场」笔记创作活动的第1篇笔记。
课程概述
本节课程主要分为三个方面:
- Go 语言简介
- Go 语言开发入门,包括开发环境配置、基础语法、标准库
- Go 实战,包括三个实战项目
本节课程配套的PPT链接如下
课前要求
转自 【Go 语言原理与实践学习资料】第三届字节跳动青训营-后端专场 - 掘金
安装 Go 语言
- 访问 go.dev/ ,点击 Download ,下载对应平台安装包,安装即可
- 如果无法访问上述网址,可以改为访问 studygolang.com/dl 下载安装
- 如果访问 github 速度比较慢,建议配置 go mod proxy,参考 goproxy.cn/ 里面的描述配置,下载第三方依赖包的速度可以大大加快
配置 Go 语言开发环境
可以选择安装 VS Code , 或者 Goland ,对于 VS Code,需要安装 Go 插件
下载课程示例代码
- Windows 平台建议安装 git,其它系统自带,安装教程
- 打开 github.com/wangkechun/… 克隆课程示例项目
- 进入课程示例项目代码目录,运行
go run example/01-hello/main.go如果正确输出 hello world,则说明环境配置正确
Go语言基础
这一部分中内容主要为介绍了GO语言的基本常用语法,以及一些区别于其他语言如C++,JAVA语言的不同语法规范。 以及开发环境配置、标准库的介绍。
三个小型实战项目
项目一: 数字猜大小(guessing-game)
这个项目旨在快速且简易地对Go语言基础语法的熟悉实战
主要的问题是,在初次运行这个项目中发现: 正常输入数字,但是报错并打印了错误信息
后发现问题出在Windows系统中 换行应为\r\n 而不是\n
此为运行报错代码:
修改后:
项目二: 简单在线词典(simpledict)
这一项目为简单的词典,从在线词典中获取单词解析,并用浏览器开发人员工具获取到dict请求,将该请求的curl命令拷贝到 Convert curl commands to code 转换为符合Go语言格式的代码。 接着将代码转换为JSON格式,此处也是用到外部的转换网页 在线工具 - OKTools
其中遇到的问题以及解决:
问题1:run之后不能进行输入
解决:在terminal里面输入,例如 go run main.go beautiful
问题2:路径不对
解决:切换到当前main文件的目录再输入
项目三: SOCK5代理
这一项目为获取sock5代理的简单实现。
正常浏览器访问一个网站,如果不经过代理服务器的话,就是先和对方的网站建立 TCP 连接,然后三次握手,握手完之后发起 HTTP 请求,然后服务器返回HTTP响应,如果设置代理服务器之后,流程会更加复杂一些。
在relay阶段,用到了一个chrome插件: SwitchyOmega,对服务器进行一些测试行为。
结尾
作为一个0基础学习Go语言的选手来说,这节课不愧称作Go语言基础上手,让我对Go语言有了初步的认识!