Go入门基础 | 青训营笔记

47 阅读2分钟

这是我参与「第五届青训营 」笔记创作活动的第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")`

这篇文章稍显仓促,仅仅写上了我较为理解的基础,在最后呢祝大家小年快乐!