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

146 阅读2分钟

Golang学习之旅

1. 语法规则

  • 使用 var来声明一个变量的类型,然后再用“=”对其进行赋值。也可直接用“:=”直接对一个变量初始化并赋值(编译器会自动推断类型,但不可再次使用“:=”进行初始化)
  • 循环/选择条件无需加“()”(如果使用多个条件进行判断则需添加)
  • switch后面不一定要跟变量,也可以不加任何东西,然后在case后面用表达式来进行判断
  • switch的每个case最后无需加break
  • 少用数组,多用切片(和Python中类似),因为后者可以动态添加
  • make和Java的 new类似,【】和Java中的泛型类似
  • m[k]返回两个值,一个是map中k键的映射值,一个是bool类型判断是否存在该键
  • Go也支持指针,主要作用为对函数中传入的参数进行修改(使用时注意空指针异常)
  • 可以定义属于结构体的方法,具体就是把结构体的参数放在前面
  • 在对数组进行遍历时,可用 for _, user = range users 语句,如果需要用到索引值则将“-”替换成i

2. 实战案例

  • rand包随机数的生成需要使用时间戳来初始化一个rand.Seed
  • 将数据转换成流的意义:占用内存小

具体步骤

1 .将在浏览器上获取到的POST请求以cURL格式复制下来,利用工具将其转化为Go语言

2. 定义DictRequest,并将其序列化后得到buf字节数组,再将该数组利用Reader放入到data中,以定义一个真正的request(在第一步生成的代码的前面)

3.在POST请求的预览里复制返回值(Json格式),凭此创建一个Golang结构:DictResponse

4. 在第一步生成的代码的最后,将读取请求的响应的body逆序劣化到dictResponse

5. 防御式编码:对响应的状态码进行判断是否响应正常