Go语言数组
- 首先数组的初始化有两种方法:
var a[5] int定义长度为5的数组,数组的初始化的值都为0b:=[5] int {1,2,3,4,5}定义一个长度为5的数组,并将他们都进行赋值
- 定义多维数组
var twoD [2][3] int
for i := 0; i < 2; i++ {
for j := 0; j < 3; j++ {
twoD[i][j] = i + j
}
}
Go 语言slice
- 首先明确Go语言
slice和Array是两种不同的数据类型,Go语言Array是不可变长的而slice是可变长的。
slice的创建方法s:=make([]string,3)初始化过后默认是空串,还可以像数组一样,但是不指定长度的good:=[]string{"g","o","o","d"}创建一个切片.slice添加元素的方法append()函数,例如向尾部添加元素slice=append(slice,"g","o","o","d"),向头部添加元素slice=append([]string{"good"},good...)。copy函数的使用,首先创建一个空的切片c:=make([]string,len(s)),copy(c,s)将s的元素拷贝到c这个slice切片中。- slice 的切片方法:
fmt.Println(c[2:5]) //从第二个元素开始不包含第五个元素
fmt.Println(c[:5]) //从最开始 不到第五个元素
fmt.Println(c[2:]) //从2号元素开始 一直到最后
GO语言的map
- 首先是
map字典的创建方法m:=make(map(string),int),创建一个k为string,v为int的字典。 还有一种初始化的方法m:=map[string]int{"one":1,"two":2}创建有两个映射值的字典。 m["one"]=1,m["two"]=2,len()函数获取字典的长度,fmt.Println(m["one"]) 输出键对应的值。 如果是不存在的键,对应键的值为0,其实会有两个传递的参数r, ok := m["unknow"],如果是不存在的键值r为0,ok为false.delete方法delete(map,"one")将map中键为"one"的键值删掉,如果map为nil 或者没有这样的键的话,那么delete将会没有操作。
GO语言的函数的使用
- 例如举一个最简单的例子
func add(a int,b int)int函数的参数是a,b都指定为int类型,同样如果两个参数的类型相同的话,还可以写成func add(a,b int)int返回值还是int类型。 - Go语言函数的返回值可以为多个
func exists(m map[string]string,k string) (v string,ok bool)返回值就有两个v string,ok bool.
Go语言的指针的使用
- Go语言的指针较为简单,通常就只有一种用法就是对传入的值进行修改。
func add2(n int) {
n += 2
}
func add2ptr(n *int) {
*n += 2
}
func main() {
n := 5
add2(n)
fmt.Println(n)
add2ptr(&n)
fmt.Println(n)
}
第一个add()函数,传入的是元素的一个拷贝。第二个add2ptr()传入一个n的指针,对指针进行操作,改变了原来的值。
这个篇就先讲到这里吧。