但是mm[5]的求值结果为什么也是空字符串呢?原因是,在Go语言中有这样一项规定,即:对于字典值来说,如果其中不存在索引表达式欲取出的键值对,那么就以它的值类型的空值(或称默认值)作为该索引表达式的求值结果。由于字符串类型的空值为"",所以mm[5]的求值结果即为""。
-------------------
因为没有,当然是空的,这有什么可解释的吗?
-------------------
因为没有,当然是空的,这有什么可解释的吗?
2017-06-02
func main() {
defer func() {
if p := recover(); p != nil {
fmt.Printf("Fatal error: %s", p)
}
}()
fmt.Println("Enter main")
outerFunc()
fmt.Println("Quit main")
}
defer func() {
if p := recover(); p != nil {
fmt.Printf("Fatal error: %s", p)
}
}()
fmt.Println("Enter main")
outerFunc()
fmt.Println("Quit main")
}
2017-06-01
for key, value := range map1 {
fmt.Printf("%d:%s", key, value)
}
不要\n
fmt.Printf("%d:%s", key, value)
}
不要\n
2017-06-01
mm2["scala"] = 25
mm2["erlang"] = 50
delete(mm2, "python")//mm2["python"] = 0
mm2["erlang"] = 50
delete(mm2, "python")//mm2["python"] = 0
2017-05-27
package main
import (
"fmt"
)
var complete chan int = make(chan int)
func main() {
go func() {
fmt.Println("1")
complete <- 0
}()
go func() {
fmt.Println("2")
complete <- 0
}()
go func() {
fmt.Println("3")
complete <- 0
}()
for i := 0;i < 3;i++{
<- complete
}
}
import (
"fmt"
)
var complete chan int = make(chan int)
func main() {
go func() {
fmt.Println("1")
complete <- 0
}()
go func() {
fmt.Println("2")
complete <- 0
}()
go func() {
fmt.Println("3")
complete <- 0
}()
for i := 0;i < 3;i++{
<- complete
}
}
2017-05-26