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

178 阅读2分钟

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

day01-Go语言上手-基础语言

实例项目代码地址:github.com/wangkechun/…

其中包括Go基础语法的例子和的三个实战项目的代码

1.目录

  1. 简介
  2. 入门
    • 开发环境
    • 基础语法
    • 标准库
  3. 实战
    • 猜谜游戏
    • 命令行词典

2.简介

1.Go语言特点

  1. 高性能、高并发
  2. 语法简单、学习去向平缓
  3. 丰富的标准库
  4. 完善的工具链
  5. 静态链接
  6. 快速编译
  7. 跨平台
  8. 自动垃圾回收
  9. 实战 1.为何选择使用Go语言
  10. 最初使用的Python, 由于性能问题换成了Go
  11. C++不太适合在线Web业务
  12. 早期团队非Java背景
  13. 性能比较好
  14. 部署简单、学习成本低
  15. 内部RPC 和HTTP框架的推广

3.入门

安装Go和开发环境(golang / VS Code)

基于云的开发环境: gitpod.io/#github.com…

4.基础语法

  1. hello world
  2. 变量(定义时与C++有不同)
  3. if-else
  4. 循环(只有for,无括号)
  5. switch分支(case中可以加不同条件)
  6. 数组(定长)
  7. 切片(不定长,append时要加原数组)
  8. map(kv对,有默认值)
  9. range(迭代器?遍历用)
  10. 函数
  11. 指针(用法较少)
  12. 结构体
  13. 结构体方法(类似类的成员函数)
  14. 错误处理(函数中加一个返回值err)
  15. 字符串(12种操作,中文字符长度不一样)
  16. 字符串格式化、输出(v、+v、#v等)
  17. JSON处理
  18. 时间处理
  19. 数字解析(各种进制和字符串转换)
  20. 进程信息

5.实战

1.猜谜游戏

  1. 使用随机数生成数字

  2. 读取用户输入 (注意这里Windows用户的输入语句是 input = strings.TrimSuffix(input, "\r\n") 不然一直会报错,读取不到输入的数字)

  3. 实现判断逻辑,与用户输入对比大小

  4. 实现游戏循环

2.在线词典

1.抓包:彩云小译 - 在线翻译 (caiyunapp.com)

2.检查-network-dict-负载-预览

3.dict右键-复制为cURl-放到Convert curl commands to code (curlconverter.com)中生成代码

生成request body,修改刚才生成的代码

4.解析response body,在JSON转Golang Struct - 在线工具 - OKTools中解析代码运行后得到的结果(注意要复制全面,且最后不能多空格) simpleDict-v2.png 解析后是这个亚子:

simpleDict-v2-1.png

然后得到的代码可以使用,最后需要处理一下打印结果等。

总结

本堂课真的是干货满满,学到了Go的基础知识和一些实践知识,虽然上课时稍稍有点跟不上,但是通过课后复习还是可以勉强跟上的,最后那个实践还得再研究一下去