一、string、数组、切片代码
package main
import "fmt"
type student struct {
id int
name string
age int
score float32
}
func main() {
var slice1 []int
slice1 = append(slice1, 1)
slice1 = append(slice1, 2)
slice1 = append(slice1, 3)
fmt.Println("打印切片 = ", slice1)
slice2 := make([]int, 5, 10)
slice2[0] = 1
fmt.Println("打印make切片 = ", slice2)
fmt.Printf("切片的长度 = %d,切片的容量 = %d\n", len(slice2), cap(slice2))
slice3 := []int{1, 2, 3, 4}
fmt.Println("slice3 = ", slice3, len(slice3), cap(slice3))
newSlice := slice3[1:]
fmt.Println("newSlice = ", newSlice, len(newSlice), cap(newSlice))
newSlice[0] = 20
fmt.Println("slice3 = ", slice3)
fmt.Println("newSlice = ", newSlice)
newSlice = append(newSlice, 5)
fmt.Println("添加元素后newSlice = ", newSlice)
newSlice[0] = 10
fmt.Println("添加元素后修改newSlice = ", newSlice)
fmt.Println("添加元素后newSlice的 slice3 = ", slice3)
var intList1 [5]int
intList1 = [5]int{1, 2, 3, 4, 5}
fmt.Println("intList1 = ", intList1)
intList2 := [5]int{3, 4, 5, 6, 7}
fmt.Println("intList2 = ", intList2)
updateArray(intList2)
fmt.Println("修改后的原数组 = ", intList2)
var s1 student
s1.score = 1
s1.age = 18
s1.name = "小明"
s2 := student{
id: 1,
name: "小贵",
age: 30,
score: 100,
}
p := &s2
fmt.Println("s2.name", s2.name)
fmt.Println("p.name", p.name)
s2.name = "小新"
fmt.Println("s2.name", s2.name)
fmt.Println("p.name", p.name)
p.name = "小p"
fmt.Println("s2.name", s2.name)
fmt.Println("p.name", p.name)
name := "lucky"
nameCopy := []byte(name)
nameCopy[1] = 'l'
fmt.Printf("nameCopy = [%s]\n", string(nameCopy))
var school string
fmt.Println("school = ", school)
newName := name + " " + "day"
fmt.Println("newName = ", newName)
newName += "s"
fmt.Println("newName = ", newName)
if name != newName {
fmt.Println("ok")
}
text := `ABCD
EFG`
fmt.Println("text = ", text)
}
func updateArray(arr [5]int) {
arr[0] = 100
fmt.Println("修改后的数组 = ", arr)
}
二、map代码
package main
import (
"fmt"
)
func main() {
names := map[int]string{
1: "小明",
2: "小李",
3: "小刘",
}
names[4] = "小蓝"
updateNames(names)
ages := make(map[int]int)
ages[1] = 10
ages[2] = 34
ages[3] = 18
fmt.Println(names)
delete(names, 4)
fmt.Println(names)
for k, v := range names {
fmt.Println(k, v)
}
initMap := make(map[int]int, 10)
fmt.Println(len(initMap))
}
func updateNames(names map[int]string) {
names[1] = "小王"
}