一、变量与常量
var aa = 100
func one(){
var a = 100
aa := 100
}
func main(){
const length int = 10
fmt.Println("length = ", length)
}
二、类型转化
fmt.Println(strconv.Itoa(100))
i, _ := strconv.Atoi("100")
fmt.Println(i)
三、数组与切片
var arr1 = [...]int{1,2,3}
arr2 := [...]int{2,2,2,2}
var num1 []int
var num2 = []int{}
arr := [...]int{1, 2, 3}
s := arr[:]
num2 = append(num2, 1, 2, 3)
num2 = append(num2, 4, 5, 6)
s = append(s, []string{"one", "two"}...)
四、字典
info := map[string]string{
"one": "1",
"two": "2",
"thr": "3",
}
scores := map[string]int{"eng": 12}
info["four"] = "4"
delete(info, "four")
fmt.Println(info["one"])
for k, v := range info {
fmt.Println(k, v)
}
fmt.Println(len(info))
五、接收输入变量
var name string
fmt.Print("请输入姓名:")
fmt.Scanln(&name)
fmt.Println(name)
六、指针&指针变量
var ptr = new(int)
*ptr = 10
fmt.Println(*ptr)
var two_ptr *string
a := "一个数据,用来给指针变量初始化"
two_ptr = &a
fmt.Println(*two_ptr)
b := "这是一个字符串,开辟出了一个内存地址"
three_ptr := &b
fmt.Println(*three_ptr)
func changValue(value *int) {
*value = 20
}
changValue(&a)
func changeArr(value []int) {
value[0] = 300
}
七、结构体
type Person struct {
name string
age int
}
person := Person{name: "xiaomnig", age: 18}
person1 := Person{"huahua", 18}
person1.name = "xx"
person := struct {
age int
}{18}
type Author struct {
name string
sex bool
}
type Lesson struct {
name string
author Author
}
lesson1 := Lesson{name: "xiaomi"}
lesson1.author = Author{name: "xxx", sex: true}
lesson2 := Lesson{name: "aaa", author: Author{name: "ww", sex: false}}
fmt.Println(lesson1.author.name)
type Author struct {
authorName string
age int
}
type Lesson struct {
name string
Author
}