小白求助:在golang语言中,关于:=的问题?

package main
import "fmt"
func main() {
var countryCapitalMap map[string]string /*创建集合 */
countryCapitalMap = make(map[string]string)
countryCapitalMap [ "France" ] = "巴黎"
countryCapitalMap [ "Italy" ] = "罗马"
countryCapitalMap [ "Japan" ] = "东京"
countryCapitalMap [ "India " ] = "新德里"
capital, ok := countryCapitalMap [ "American" ] /*如果确定是真实的,则存在,否则不存在 */
if (ok) {
fmt.Println("American 的首都是", capital)
} else {
fmt.Println("American 的首都不存在")
}
}
问题:听说= 是赋值, := 是声明变量并赋值,但是这里的capital, ok := countryCapitalMap [ "American" ] 是什么意思呢

红颜莎娜
浏览 237回答 1
1回答

qq_笑_17

capital, ok 一起声明并赋值。是这样的map类型的变量,你可以直接取他的值,也可以使用这种尝试取值的方式,也就是他返回了二个参数,第一个是如果有值,就返回那个值,第二个OK是一个bool类型的变量,表示是不是成功返回了第一个参数;可以用来做一些判断map是否存在指定的KEY
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java
Go