Go 数据类型

从今天开始学习 Go 语言,顺便记录下学习过程,下面让我们直接进入正题。

hello go

1
2
3
4
5
6
package main
import "fmt";

func main() {
fmt.Printf("Hello Go!")
}

变量

1
2
3
4
5
6
7
8
9
10
11
12
13
14
// 方式一
var num int
var price float32
var str string
num = 20
price = 20.5
str = "hello"

// 方式二
num := 20
price := 20.5
str := "hello"

fmt.Printf("num=%d,price=%f,str=%s", num, price, str)

bool

1
2
3
4
5
6
7
ok := false

if ok {
fmt.Printf("true")
} else {
fmt.Printf("false")
}

常量

1
2
const Pi float32 = 3.14
fmt.Printf("%f", Pi)

数组

1
2
3
4
var arr [2]int
arr[0] = 10
arr[1] = 20
fmt.Printf("a0=%d, a1=%d\n", arr[0], arr[1])

slice

1
2
3
4
5
6
7
8
var src = [10]int{1, 2, 3, 4, 5, 6}
var n1, n2 []int

n1 = src[:3]
n2 = src[3:]

fmt.Printf("n1=%d, n1=%d, n1=%d\n", n1[0], n1[1], n1[2])
fmt.Printf("n2=%d, n2=%d, n2=%d\n", n2[0], n2[1], n2[2])

map

定义

1
2
3
4
5
6
7
8
9
10
// 定义方式一
cache = map[string] int
cache = make(map[string] int)

// 定义方式二,推荐使用
cache := make(map[string] int)

cache["one"] = 1
cache["two"] = 2
fmt.Printf("one=%d,two=%d\n", cache["one"], cache["two"])

map 值的获取

map 直接使用 name[key] 的方式获取值,返回第一个是对应键值,第二个如果 key 存在,为 true,不存在,为 false

1
2
3
4
5
6
7
8
cache := map[string] int{"one": 1, "two":2, "three":3}

val, ok := cache["three"]
if ok {
fmt.Printf("three=%d", val)
} else {
fmt.Printf("three not exist")
}

map 值的删除

1
2
3
4
5
6
7
8
cache := map[string]int {"one":1, "two":2}
delete(cache, "one")
val, ok := cache["one"]
if ok {
fmt.Printf("one=%d", val)
} else {
fmt.Printf("one not exist")
}

©版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 & 作者信息

Happy Coding

坚持原创技术分享,您的支持将鼓励我继续创作!
Flyertutor WeChat Pay

WeChat Pay

Flyertutor Alipay

Alipay