談?wù)勥@個(gè)題的看法。首先ia是一個(gè)值為接口類型的切片。這里面有接口類型導(dǎo)致看起來比較晦澀。
這樣看。如果 ia := [ ]int{ 1, 2, 3 } 其中是int就是interface{}。在go語言中他們具有同等地位。然后之前說過切片類型里面的元素都是同種類型的。id := [ ] int {1, 2, 'a'} 是不可取的。接口類型的切片元素可以是任意類型。自此,ia明了了。
再看switch v ...
前面是一個(gè)切片,后面可以看成一個(gè)將 v 轉(zhuǎn)換成interface{}。然后調(diào)用其type方法。后面不論隨機(jī)數(shù)多少。他的類型始終是 [ ]interface{} 。也就是接口類型的切片。
這樣看。如果 ia := [ ]int{ 1, 2, 3 } 其中是int就是interface{}。在go語言中他們具有同等地位。然后之前說過切片類型里面的元素都是同種類型的。id := [ ] int {1, 2, 'a'} 是不可取的。接口類型的切片元素可以是任意類型。自此,ia明了了。
再看switch v ...
前面是一個(gè)切片,后面可以看成一個(gè)將 v 轉(zhuǎn)換成interface{}。然后調(diào)用其type方法。后面不論隨機(jī)數(shù)多少。他的類型始終是 [ ]interface{} 。也就是接口類型的切片。
2020-02-28
package main
import (
"fmt"
)
func main() {
map1 := map[int]string{1: "Golang", 2: "Java", 3: "Python", 4: "C"}
for i, v := range map1 {
fmt.Printf("%d:%s\n",i,v)
}
}
這樣是不是更簡潔呢
import (
"fmt"
)
func main() {
map1 := map[int]string{1: "Golang", 2: "Java", 3: "Python", 4: "C"}
for i, v := range map1 {
fmt.Printf("%d:%s\n",i,v)
}
}
這樣是不是更簡潔呢
2020-02-21
這位先生是不是腦子有點(diǎn)毛病,為什么本章的內(nèi)容總喜歡說,根據(jù)上一章的例子。。我看著一章,你為什么要我翻到上一章去呢?
2020-02-17