一、string、数组、切片代码
package mainimport "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 students1. score = 1 s1. age = 18 s1. name = "小明" s2 := student{ id: 1 , name: "小贵" , age: 30 , score: 100 , } p := & s2fmt. 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 mainimport ( "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 ] = "小王"
}