[GO基础语法总结|青训营笔记]

124 阅读2分钟

这是我参与「第五届青训营」伴学笔记活动的第一天 第一节课快速了解了go基本语法

package

main定义了包名,import{}引入包名,"{"不能单独一行。

变量声明

中 有三种方法第一种是var 参数 类型,第二种根据值自行判断 即var 参数=具体值第三种是用:=具体值,如果需要多变量也可以 为变量1,变量2:= 值1,值2

条件语句

if条件不用加括号,且只有一句时也必须加在{}中。对于switch case中不用加break,同时switch后面也可以不加变量在{}中添加条件,默认需要用default表示。

循环

循环语句没有while for直接加条件不用“()”,也可以直接for接{}在内部加break

for循环中的range格式可以对数组、map、slice等进行迭代循环 比如for key, value := range map或者数组,如果只需要第一个则直接for key:=range ,如果只需要第二个则for __ ,val:=range.

字符串

可以用make([]string,len),如果想要添加需要用 变量=append(变量,“xxx”)以更新变量

map

通过make(map[key的类型]val的类型)实现,通过delete(map变量,key)删除键对,也可以不用make并接{}添加初始变量。

数组

创建数组可以通过[...]省略长度

函数

func function_name( [parameter list] ) [返回类型],如果需要返回多值则返回类型中需要写为(返回类型1,返回类型2),不返回值则可省去返回类型

指针

指针为 变量名*类型

结构体

type 结构名字 struct{},初始化与变量相同,即结构体变量:={成员1:,成员2:...}。当创建一个结构体变量用类似于c的办法,但需要注意无论是否是指针类型都是直接加“.成员名”。另一方面结构体可以单独接在func后面即 func(结构体变量名 结构体名)函数名(形参1+类型,形参2+类型.....)

错误处理

使用error变量 error变量不等于nil表错误 error.New(提示语)

字符串格式化

使用printf函数,与python相同

JSON处理

json.Marshal(结构体)对结构进行编码 json.MarshalIndent() json.Unmarshal()

时间处理

time.Now() time.Date() time.parse() diff.Minutes()/seconds()

数字解析

strconv.ParseFloat() strconv.Parseint(字符串,进制) strconv.Atoi(字符串) 总结: 这一次课打开了我学习go的大门,感觉我需要有非常多的东西去学,我感觉视频的讲解还不够细致,需要自己继续查阅相关资料,在学习第二节的时候发现很难跟上老师,主要原因也正是自己的语法还不够牢固进而造成不够灵活无法快速理解代码,希望未来能更进一步,完成后面的几个项目学有所成。