Go语言基础上手 | 青训营笔记

152 阅读3分钟

这是我参与「第三届青训营 -后端场」笔记创作活动的第1篇笔记。

课程概述

本节课程主要分为三个方面:

  1. Go 语言简介
  2. Go 语言开发入门,包括开发环境配置、基础语法、标准库
  3. Go 实战,包括三个实战项目

本节课程配套的PPT链接如下

Go语言上手-基础语言.pptx

课前要求

转自 【Go 语言原理与实践学习资料】第三届字节跳动青训营-后端专场 - 掘金

安装 Go 语言

  1. 访问 go.dev/ ,点击 Download ,下载对应平台安装包,安装即可
  2. 如果无法访问上述网址,可以改为访问 studygolang.com/dl 下载安装
  3. 如果访问 github 速度比较慢,建议配置 go mod proxy,参考 goproxy.cn/ 里面的描述配置,下载第三方依赖包的速度可以大大加快

配置 Go 语言开发环境

可以选择安装 VS Code , 或者 Goland ,对于 VS Code,需要安装 Go 插件

下载课程示例代码

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

Go语言基础

这一部分中内容主要为介绍了GO语言的基本常用语法,以及一些区别于其他语言如C++,JAVA语言的不同语法规范。 以及开发环境配置、标准库的介绍。

三个小型实战项目

项目一: 数字猜大小(guessing-game)

这个项目旨在快速且简易地对Go语言基础语法的熟悉实战

主要的问题是,在初次运行这个项目中发现: 正常输入数字,但是报错并打印了错误信息

image.png

后发现问题出在Windows系统中 换行应为\r\n 而不是\n

此为运行报错代码:

image.png

修改后:

image.png

项目二: 简单在线词典(simpledict)

这一项目为简单的词典,从在线词典中获取单词解析,并用浏览器开发人员工具获取到dict请求,将该请求的curl命令拷贝到 Convert curl commands to code 转换为符合Go语言格式的代码。 接着将代码转换为JSON格式,此处也是用到外部的转换网页 在线工具 - OKTools

其中遇到的问题以及解决:

问题1:run之后不能进行输入

解决:在terminal里面输入,例如 go run main.go beautiful

问题2:路径不对

解决:切换到当前main文件的目录再输入

image.png

项目三: SOCK5代理

这一项目为获取sock5代理的简单实现。

正常浏览器访问一个网站,如果不经过代理服务器的话,就是先和对方的网站建立 TCP 连接,然后三次握手,握手完之后发起 HTTP 请求,然后服务器返回HTTP响应,如果设置代理服务器之后,流程会更加复杂一些。

在relay阶段,用到了一个chrome插件: SwitchyOmega,对服务器进行一些测试行为。

结尾

作为一个0基础学习Go语言的选手来说,这节课不愧称作Go语言基础上手,让我对Go语言有了初步的认识!