Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/go/7.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 getPageInfoMode(r *http.Request) (mode PageInfoMode) { for _, k := range strings.Split(r.FormValue("m"), ",") { if m, found := modeNames[strings.TrimSpace(k)]; found { mode |= m } } r

我找到了这个运算符|=我想知道它是什么意思

func getPageInfoMode(r *http.Request) (mode PageInfoMode) {
    for _, k := range strings.Split(r.FormValue("m"), ",") {
        if m, found := modeNames[strings.TrimSpace(k)]; found {
            mode |= m
        }
    }
    return
}

是就地按位OR运算符

还有许多其他问题:

+    &     +=    &=     &&    ==    !=        
-    |     -=    |=     ||    <     <=        
*    ^     *=    ^=     <-    >     >=        
/    <<    /=    <<=    ++    =     :=        
%    >>    %=    >>=    --    !            
&^   &^=

与C中的意思相同:mode=mode | m的缩写。碰巧我也不知道C。我应该在走之前学C吗?如果我现在就开始学的话,我不会。但是现在网络上关于C的信息规范、教程和技巧比go要多出1000倍,而且许多基本思想与几乎所有的操作符都相似。有趣的是……除了比较操作符,大多数看起来都没有文档记录。