2015-01-14 30 views
0

我发现这个操作符|=,我想知道这是什么意思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 
     } 
    } 
    return 
} 
+2

相同,因为它意味着在C:简称'模式=模式| M'。 –

+0

它发生,我也不知道C.我应该在Go之前学习C吗? –

+0

如果我现在开始,我不会。但是,关于网络上的C的规格,教程和技巧要比目前的C要多1000倍,许多基本思想都是相似的(就像几乎所有的操作员一样)。 –

回答

0

是就地位或运算符https://golang.org/ref/spec#Operators

还有许多其他:

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

有趣...他们中的大多数似乎没有文档(比较运算符除外)。 –

相关问题