Go语言基础语法|青训营笔记

377 阅读2分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第 1 天

1.主要内容

Go语言的基础语法
Go语言的上手工程实践

2.本节详细内容

Go语言的特点

高性能·高并发
语法简单,学习曲线较为平缓
标准库比较丰富
工具链完善
静态连接
编译快
具有跨平台能力
具有垃圾回收

Go的环境安装

不多做赘述,环境的安装是最为基础的了

Go的基础语法

Go的标准库可以查看Go的标准库文档
[](Go语言标准库文档中文版 | Go语言中文网 | Golang中文社区 | Golang中国 (studygolang.com))
也可以在项目标准示例中进行搜索需要的示例进行查看
[](Golang代码示例 - HotExamples)
具体基础语法不在此笔记中进行列举

Tips:

  • 真实业务代码中更多使用切片,不使用数组
  • Go的map完全无序
  • 使用range进行遍历返回两个值,第一个是索引,第二个是对应的值,忽略索引使用_
  • 变量类型后置
  • Go传入的参数实际上是拷贝,如需要对传入参数进行修改需要使用指针
  • Go的时间初始化为2006-01-02 15:04:05

3.实践练习

Go基础语法实战

猜数字游戏

  • 在使用随机数之前需要设置随机数种子,不然每一次生成都是一样的,一般采用time.now.unix时间戳进行设置。
  • 复习了循环,函数和错误处理。

在线词典

主要讲解如何使用Go完成http请求、解析json以及代码生成。
API使用彩云科技的API
使用curl请求生成所需header代码
使用代码生成工具将json生成对应的结构体,使用转换嵌套可以让生成的代码更紧凑。

SOCKS5代理

socks5协议都是明文传输,诞生于互联网早期。主要用于当因为防火墙访问某些资源非常麻烦时,在其上开一个口子,可以通过单个端口访问资源。常用于代理IP池代理协议。
socks5协议原理

image.png
主要为四个阶段:握手、认证、请求、relay

4.Go学习路线

Go中文开源图书或者文档
首页 - Go语言中文网 - Golang中文社区 (studygolang.com)
路线图在飞书

5.课后总结

  • Go语法需要进一步学习
  • 可以查看学习路线图进行课外的知识补充
  • Go的简便程度和性能应该相较于Java来说还是Go更优秀,其他部分各有千秋。
  • 本节课主要为基础部分,为后续的课程以及项目做一个铺垫。

6.引用

字节内部课:Go 语言上手 - 基础语法