这是我参与「第三届青训营 -后端场」笔记创作活动的第1篇笔记
day01-Go语言上手-基础语言
实例项目代码地址:github.com/wangkechun/…
其中包括Go基础语法的例子和的三个实战项目的代码
1.目录
- 简介
- 入门
- 开发环境
- 基础语法
- 标准库
- 实战
- 猜谜游戏
- 命令行词典
2.简介
1.Go语言特点
- 高性能、高并发
- 语法简单、学习去向平缓
- 丰富的标准库
- 完善的工具链
- 静态链接
- 快速编译
- 跨平台
- 自动垃圾回收
- 实战 1.为何选择使用Go语言
- 最初使用的Python, 由于性能问题换成了Go
- C++不太适合在线Web业务
- 早期团队非Java背景
- 性能比较好
- 部署简单、学习成本低
- 内部RPC 和HTTP框架的推广
3.入门
安装Go和开发环境(golang / VS Code)
基于云的开发环境: gitpod.io/#github.com…
4.基础语法
- hello world
- 变量(定义时与C++有不同)
- if-else
- 循环(只有for,无括号)
- switch分支(case中可以加不同条件)
- 数组(定长)
- 切片(不定长,append时要加原数组)
- map(kv对,有默认值)
- range(迭代器?遍历用)
- 函数
- 指针(用法较少)
- 结构体
- 结构体方法(类似类的成员函数)
- 错误处理(函数中加一个返回值err)
- 字符串(12种操作,中文字符长度不一样)
- 字符串格式化、输出(v、+v、#v等)
- JSON处理
- 时间处理
- 数字解析(各种进制和字符串转换)
- 进程信息
5.实战
1.猜谜游戏
-
使用随机数生成数字
-
读取用户输入 (注意这里Windows用户的输入语句是
input = strings.TrimSuffix(input, "\r\n")不然一直会报错,读取不到输入的数字) -
实现判断逻辑,与用户输入对比大小
-
实现游戏循环
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中解析代码运行后得到的结果(注意要复制全面,且最后不能多空格)
解析后是这个亚子:
然后得到的代码可以使用,最后需要处理一下打印结果等。
总结
本堂课真的是干货满满,学到了Go的基础知识和一些实践知识,虽然上课时稍稍有点跟不上,但是通过课后复习还是可以勉强跟上的,最后那个实践还得再研究一下去