Go语言变量类型的代码演示
basic_demo.go文件
package main
import (
"fmt"
)
const (
I = 100
PI = 3.1415
PREFIX = "Go_"
)
var (
i int
pi float32
prefix string
)
func main() {
// 分组声明变量和常量
fmt.Println(i)
fmt.Println(PREFIX)
// 一维数组
a := [3]int{1, 2, 3}
b := [10]int{1, 2, 3}
c := [...]int{1, 2, 3}
fmt.Println(a, b, c)
// 二维数组
doubleArray := [2][4]int{[4]int{1, 2, 3, 4}, [4]int{5, 6, 7, 8}}
fmt.Println(doubleArray)
easArray := [2][4]int{{1, 2, 3, 4}, {5, 6, 7, 8}}
fmt.Println(easArray)
// 动态数组 slice并不是一个真正的动态数组,而是一个引用类型。
// 和声明array一样,只是少了长度
// slice := []byte{'a','b','c'}
// slice可以从一个数组或一个已经存在的slice中再次声明
var ar = [10]byte{'a', 'b', 'c', 'd', 'e', 'd'}
var slice1, slice2 []byte
slice1 = ar[2:5]
slice2 = ar[6:]
slice3 := ar[:]
slice4 := slice3[:4]
fmt.Printf("%v,%v,%v", slice1, slice2, slice3)
fmt.Println(slice4)
// 字典map 格式为map[keyType]valueType
// 1.直接声明
// var numbers map[string] int
// 2.简短的map声明方式
// numbers := make(map[string]int)
// numbers["one"] = 1
// numbers["two"] = 2
numbers := map[string]int{"one": 1, "two": 2}
fmt.Println(numbers)
// 查找有没有对应的key值
if _, ok := numbers["one"]; ok {
fmt.Println("有key值为one的键值对!")
}
// 删除指定key的value
delete(numbers, "two")
fmt.Println(numbers)
// 变量未填充前的默认值,“零值”
// int,int8,int32,int64,rune(rune的实际类型是int32),float32,float64 --> 0
// uint byte(byte的实际类型是uint8) --> 0x0
// bool --> false
// string --> ""
}
有疑问加站长微信联系(非本文作者)