书接上回,更多内容请移步主页查看“后端技术学习总结|青训营”系列。
Go语言语法初步讲解
- map哈希,存储了键/值(key/value)的集合。个人理解:类似于一一绑定的数组,每个位置的名字可以定义。
func main() {
//创建map结构,多个“map”多个“String”
m := make(map[string]int)
m["one"] = 1
m["two"] = 2
fmt.Println(m) // map[one:1 two:2]
fmt.Println(len(m)) // 2
fmt.Println(m["one"]) // 1
fmt.Println(m["unknow"]) // 0
//???
r, ok := m["unknow"]
fmt.Println(r, ok) // 0 false
//删除方法
delete(m, "one")
//另种定义方法(和数组类似)
m2 := map[string]int{"one": 1, "two": 2}
var m3 = map[string]int{"one": 1, "two": 2}
fmt.Println(m2, m3) //最后打印出来是一样的“map[one:1 two:2]”
}
- range,产生一对值:索引以及在该索引处的元素值。
import (
"fmt"
//OS为打印命令行的包
"os"
)
func main() {
s, sep := "", ""
//不需要索引值的时候使用空标识符“_”代替,os.Args表示从命令行中读取获得的参数,os.Args[0]默认为命令本身的名字,所以从1开始遍历
for _, arg := range os.Args[1:] {
s += sep + arg
sep = " "
}
//执行结果是拿出一个个程序启动时传给它的参数,以空格间隔
fmt.Println(s)
}
//等价插入间隔的还有如下的方式,使用strings的Join包
import (
"fmt"
"strings"
)
func main() {
fmt.Println(strings.Join(os.Args[1:], " "))
}