谈谈这个题的看法。首先ia是一个值为接口类型的切片。这里面有接口类型导致看起来比较晦涩。
这样看。如果 ia := [ ]int{ 1, 2, 3 } 其中是int就是interface{}。在go语言中他们具有同等地位。然后之前说过切片类型里面的元素都是同种类型的。id := [ ] int {1, 2, 'a'} 是不可取的。接口类型的切片元素可以是任意类型。自此,ia明了了。
再看switch v ...
前面是一个切片,后面可以看成一个将 v 转换成interface{}。然后调用其type方法。后面不论随机数多少。他的类型始终是 [ ]interface{} 。也就是接口类型的切片。
这样看。如果 ia := [ ]int{ 1, 2, 3 } 其中是int就是interface{}。在go语言中他们具有同等地位。然后之前说过切片类型里面的元素都是同种类型的。id := [ ] int {1, 2, 'a'} 是不可取的。接口类型的切片元素可以是任意类型。自此,ia明了了。
再看switch v ...
前面是一个切片,后面可以看成一个将 v 转换成interface{}。然后调用其type方法。后面不论随机数多少。他的类型始终是 [ ]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
linux 下环境变量
1. GOROOT export GOROOT=/usr/local/go
2. GOPATH export GOPATH=~/golib:~/goproject
3. GOBIN export GOBIN=/gobin
4. PATH export PATH=$PATH:$GOROOT/bin:$GOBIN
验证 shell : go version
1. GOROOT export GOROOT=/usr/local/go
2. GOPATH export GOPATH=~/golib:~/goproject
3. GOBIN export GOBIN=/gobin
4. PATH export PATH=$PATH:$GOROOT/bin:$GOBIN
验证 shell : go version
2020-01-14