golang基础笔记 | 青训营笔记

110 阅读2分钟

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

2022年5月7日,参加了第一节golang基础课程,简单地过了一遍golang的基本语法。课堂笔记记录如下

  • const常量没有类型 切片实际存储容量、长度加指向数组的指针
  • copy拷贝切片
  • 结构体接口实现:要改变原有结构体,要传指针。
  • 字符串string有很多内置函数
  • 结构体转json要注意变量名要大写
  • time.Date构造时间,
  • .Unix()获取时间戳
  • strconv:里的转换函数:parsefloat,parseint,atoi
  • nc 127.0.0.1 1080
  • curl --socks5 127.0.0.1:1080 -v www.qq.com
  • chrome switchyomega实现代理服务器 基础知识过完后,通过三个小项目巩固学习。
  • 项目1 猜词游戏:随机生成一个数字,注意用时间戳给种子SEED赋值,避免生成一样的随机数。用一个for循环获取用户输入的数字,输入大了和小了都将再次输入,直至正确。后期作业用fmt.scanf()获取输入
// input, err := reader.ReadString('\n')
var guess int
_, err := fmt.Scanf("%d\n", &guess)
  • 项目2 单词翻译,从终端输入一个单词,通过Post方法post到彩云翻译网站中,获取响应,并解析json得到中文意思,作业添加了火山翻译。通过本项目了解了http请求、响应的基本过程,net/http标准库使用。了解了两个工具网站的使用。
var wg sync.WaitGroup

func main() {
if len(os.Args) != 2 {
        fmt.Fprintf(os.Stderr, `usage: simpleDict WORD
        example: simpleDict hello
                        `)
        os.Exit(1)
}
word := os.Args[1]
wg.Add(2)
go wait_caiyun(word)
go wait_huoshan(word)
wg.Wait()
}

32c2b35ad3fae589c5b21be2a5e565c.png

  • 项目3 socks5 代理服务器,windows下需要安装curl才可运行正确,curl从官网下载,然后添加环境变量,即可在终端运行curl --socks5 127.0.0.1:1080 -v www.qq.com,在运行socks5代理服务器代码后,即可在终端输入上面的语句