go学习代码

[TOC]

声明变量

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
package main

import "fmt"

func main() {

//1.
var a int = 520
fmt.Println(a)

//2.
b := 1314
fmt.Println(b)

//3
var (
c int = 959
d int = 244
)
fmt.Println(c + d)

//4
var e = 2023
fmt.Println(e)
}

常量(模拟枚举)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
package main

import "fmt"

//模拟枚举
/*
iota,每行递增
*/
const (
A = iota
B
C
D = 20
E
F = iota
G = "adh"
)

func main() {
//设置const常量
//不能使用自动类型推导
const a int = 10
const b = 20
fmt.Println(a)
fmt.Println(b)
fmt.Println(A)
fmt.Println(F)
fmt.Println(G)
}

多返回值(三种)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
func add(a int, b int) (int, int, int) {
return a, b, a + b
}

func add1(a int, b int) (c, d int) {
return
}

func add2(a int, b int) (sum int) {
sum = a + b
return sum
}

func main() {
a, b, sum := add(1, 4)
fmt.Printf("%v+%v=%v", a, b, sum)

c, d := add1(1, 2)
fmt.Println(c, d)

sum1 := add2(2, 4)
fmt.Println(sum1)

}

切片的声明

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
func main() {
//直接声明并且初始化
ints := []int{1, 2, 3}
for _, v := range ints {
fmt.Println(v)
}

//先声明再创建空间
var ints2 []int
ints2 = make([]int, 2)
for _, v := range ints2 {
fmt.Println(v)
}
fmt.Println(ints)

ints3 := [3]int{1, 2, 4}
fmt.Println(ints3)

}

容量和长度

1
2
3
4
5
6
7
8
9
10
11
12
//容量和长度

func main() {
ints := make([]int, 2)
fmt.Printf("len:%d cap:%d ints:%v", len(ints), cap(ints), ints)
ints = append(ints, 1)
fmt.Printf("len:%d cap:%d ints:%v", len(ints), cap(ints), ints)
ints = append(ints, 2)
ints = append(ints, 3)
fmt.Printf("len:%d cap:%d ints:%v", len(ints), cap(ints), ints)

}

数组,切片的截取

1
2
3
4
5
6
7
8
9
10
11
12
13
14
//声明切片的几个方法

func main() {
ints := []int{1, 2, 3, 4, 5}

fmt.Println(ints[0:2]) //[0,2)

fmt.Println(ints[0:len(ints)]) //打印全部的切片

ints2 := [5]int{1, 2, 3, 4, 5}
fmt.Println(ints2)
fmt.Println(ints2[0:2]) //数组的=也可以截取

}

map的声明

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
// map的声明
func main() {
//第一种方式
map1 := map[string]int{
"one": 1,
"two": 2,
"three": 3,
}
fmt.Println(map1)

//第二种形式
var map2 map[string]int = make(map[string]int, 4)
fmt.Println(map2)

//第三种方式
map3 := make(map[string]int, 6)
fmt.Println(map3)
}

delete的使用

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
func main() {
maps := map[string]int{
"one": 1,
"two": 2,
}
v, isHave := maps["two"]
if isHave == true {
fmt.Println(v)
}

delete(maps, "two")

v, isHave = maps["two"]

if isHave != true {
fmt.Println("this is no value")
}

}

go学习代码
https://tsy244.github.io/2023/06/14/go/go学习代码/
Author
August Rosenberg
Posted on
June 14, 2023
Licensed under