Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Go 我不知道';我不理解这里的评估规则_Go - Fatal编程技术网

Go 我不知道';我不理解这里的评估规则

Go 我不知道';我不理解这里的评估规则,go,Go,我对围棋中的语法用法感到困惑 func f(){ m := map[int]string{1: "one", 2: "two"} if x, ok := m[3]; !ok{ // do something } } 我理解如果x,ok:=map[3]会做什么,但是我对两者之间的区别感到困惑!正常或a;好的,以及这两个词的含义 顺便问一下,如果我只写如果x,ok:=map[3]而不写,它有效吗扩展了它 谢谢大家! 顺便问一下,如果我只写如果x,ok:=ma

我对围棋中的语法用法感到困惑

func f(){
    m := map[int]string{1: "one", 2: "two"}
    if x, ok := m[3]; !ok{
        // do something
    }
}
我理解
如果x,ok:=map[3]
会做什么,但是我对两者之间的区别感到困惑!正常或a
;好的
,以及这两个词的含义

顺便问一下,如果我只写
如果x,ok:=map[3]
而不写
,它有效吗扩展了它

谢谢大家!

顺便问一下,如果我只写
如果x,ok:=map[3]
而不写
,它有效吗扩展了它

不,这是一个语法错误,因为
x,ok:=map[3]
不是布尔表达式。事实上,它甚至不是一个表达式。因此,它不能是控制
if
的表达式

但是我对两者之间的区别感到困惑,我有一个
!正常
或a
;好的
,以及这两个词的含义


与任何
if
相同。如果希望在
ok
为真时运行块,则使用
If ok
。如果要在
ok
为false时运行块,请使用
If!好的
。唯一的区别是我们将给出
ok
值的语句放在单词
if
和测试之间

这些简单的问题只需很少的研究就可以很容易地回答。请从