golang 切片slice和map
浏览量:424
1.Slice
package main
import (
"fmt"
)
func main() {
a := []byte{'a', 'b', 'c', 'd', 'e', 'f', 'h', 'i', 'j', 'k'}
sa1 := a[2:5]
sa2 := sa1[3:6]
fmt.Println(string(sa1))
fmt.Println(string(sa2))
}答案:

多个slice需要注意
package main
import (
"fmt"
)
func main() {
a := []int{1, 2, 3, 4, 5}
s1 := a[2:5]
s2 := a[1:3]
fmt.Println(s1, s2)
s1[0] = 9
fmt.Println(s1, s2)
s2 = append(s2,1,2,2,3,3,3,4,4,4,4)
s1[0] = 9
fmt.Println(s1, s2)
}答案:

2.map
package main
import (
"fmt"
)
func main() {
m := make(map[int]string)
m[1] = "ok"
delete(m,1)
a :=m[1]
fmt.Println(a)
}复杂的map
package main
import (
"fmt"
)
func main() {
var m map[int]map[int]string
m = make(map[int]map[int]string)
a,ok := m[2][1]
if !ok {
m[2] = make(map[int]string)
}
m[2][1] = "dkl"
a,ok = m[2][1]
fmt.Println(a,ok)
}答案

package main
import (
"fmt"
)
func main() {
sm := make([]map[int]string,5)
for i :=range sm {
sm[i] = make(map[int]string,1)
sm[i][1] = "ok"
sm[i][2] = "哈哈"
fmt.Println(sm[i])
}
fmt.Println(sm)
}答案:

对map排序
package main
import (
"fmt"
"sort"
)
func main() {
m := map[int]string{1:"a",2:"b",3:"c",4:"d",5:"e"}
s := make([]int,len(m))
i := 0
for k,_ := range m {
s[i] = k
i++
}
sort.Ints(s)
fmt.Println(s)
}答案:

3.函数
package main
import (
"fmt"
)
func main() {
f :=closeuser(10)
fmt.Println(f(1))
fmt.Println(f(5))
}
func closeuser(x int) func(int) int {
return func(y int)int {
return x+y
}
}答案:


神回复
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。