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

116 阅读2分钟

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

基础语法

Helloworld

package main

import "fmt"

func main() {
    fmt.Println("Helloworld")
}

Go是一门静态编译语言。Go语言提供的工具都通过一个单独的命令go调用,go命令有一系列子命令。最简单的一个子命令就是run。这个命令编译一个或多个以.go结尾的源文件,链接库文件,并运行最终生成的可执行文件。(用$表示命令行提示符。)

$ go run helloworld.go

变量

var声明语句可以创建一个特定类型的变量,然后给变量附加一个名字,并且设置变量的初始值。变量声明的一般语法如下:

var 变量名字 类型 = 表达式

常量就是把var改成const,根据使用的上下文自动确定类型

在函数内部,有一种称为简短变量声明语句的形式可用于声明和初始化局部变量。它以“名字 := 表达式”形式声明变量,变量的类型根据表达式来自动推导。

i:=100

切片(slice)

内置的make函数创建一个指定元素类型、长度和容量的slice。容量部分可以省略,在这种情况下,容量将等于长度。

make([]T, len)
make([]T, len, cap) // same as make([]T, cap)[:len]

在底层,make创建了一个匿名的数组变量,然后返回一个slice;只有通过返回的slice才能引用底层匿名的数组变量。在第一种语句中,slice是整个数组的view。在第二个语句中,slice只引用了底层数组的前len个元素,但是容量将包含整个的数组。额外的元素是留给未来的增长用的

append函数用于向slice追加元素

copy函数可以方便地将一个slice复制另一个相同类型的slice

Map

内置的make函数可以创建一个map:

ages := make(map[string]int)

使用内置的delete函数可以删除元素:

delete(ages, "a")

在线词典

抓包:network中dict中的preview

代码生成:copy as cURL,然后通过网址 culcinverter.com 生成

生成代码解读: req,err:=http.NewRequest("POST","https://api.interpreter.caiyunai.com/v1/dict",data) 创建请求

req.Header.Set("Connection","keep-alive")设置请求头

resq,err := client.Do(req)发起请求

bodyText,err := ioutil.ReadAll(resp.Body)读取相应