这是我参与「第五届青训营 」笔记创作活动的第1天。因为我自己是学习过C/C++,所以对于Go语言的部分语法感到熟悉和亲切,例如我们的结构体.
type DictRequest struct { TransType string json:"trans_type" Source stringjson:"source" UserID stringjson:"user_id" }
跟C基本如出一辙,不过它添加了新的功能,就是可以使用json给其数列化,只要你对C的结构体熟悉,那么上手Go语言的结构体,也会非常快。
在go语言中,循环语句也简化了,C拥有的white,do white , for 最后变成只有一个for循环,且for循环的后面只需要添加花括号即可,需要控制的量不用被包含在括号中。
例:for n := 0; n < 9; n++ { if n%2 == 0 { continue } fmt.Println(n) }
if语句也跟for类似,后面不用再添加括号直接使用花括号即可,非常的快捷。
我们的switch语句相较于C语言,我们不用在case后面的执行中加入break,C语言中不加入break就会将case分支都执行一遍,在go中,将不会全部执行一遍,只执行前面判断值的case。
例:
a := 2
switch a {
case 1:
fmt.Println("one")
case 2:
fmt.Println("two")
case 3:
fmt.Println("three")
}
说了这么多的语句内容,我们该说说最基本的变量内容了,首先,go语言的变量命名类似JS,以var开,可以在变量名后面添加类型,不添加的话,go会根据后面赋的值自动判断变量是什么类型
例子:`var a = "init" var b,c int = 1,2 var d = true`
在go中我们如何创建一个数组呢,很简单,我们直接var一个,var[数组个数]数组类型
`var a[5]int`
我们可以直接在数组中的任意一个下标赋值。
`a[2] = 100`
但是在go的业务层面上,通常不会使用数组,因为这样相当于写死了,这个时候我们可以用到“切片”,相当于C语言的malloc等,创造一个动态的数组,基本形式:名字:=make([]数组类型,长度)
`s := make([]string,3)`
当数组满了之后,想添加更多的数据可以通过append来添加
`s:=append(s,"d")
s:=append(s,"e","f")`
这篇文章稍显仓促,仅仅写上了我较为理解的基础,在最后呢祝大家小年快乐!