消化腺包括什么| 消化不好吃什么| 减肥早餐吃什么最好| 化生是什么意思| 十全十美是什么意思| 超七水晶是什么| 人黑穿什么颜色的衣服好看| 无性别是什么意思| 米白色是什么颜色| lotus是什么车| 自私自利是什么意思| 桉是什么意思| 立秋抓秋膘吃什么| 胎盘分级0级什么意思| 磊字五行属什么| 糖尿病吃什么菜最好| 梦见生肉是什么征兆| 身体有湿气有什么症状| nothomme什么牌子| 财务是什么意思| 浣熊吃什么食物| 儿童肠系膜淋巴结炎吃什么药| ctc是什么| 免冠是什么意思| 甲功不正常会得什么病| 干碟是什么| 俄罗斯信仰什么教| 梦到自己长白头发是什么意思| 紫菜是什么颜色| 918是什么意思| 什么叫惊喜| 为什么会长囊肿| 蓝颜知己是什么关系| 脚心疼痛是什么原因引起的| 腰扭伤吃什么药| 人流后能吃什么水果| 私密是什么意思| 什么是刮痧| 三焦不通吃什么中成药| 黑是什么生肖| 一什么鼻子| 朋友圈屏蔽显示什么| 沂字五行属什么| 较重闭合性跌打损伤是什么意思| 甘地是什么种姓| 身上起红疙瘩是什么原因| 每天吃什么菜谱星期表| 勇气是什么| 肝火胃火旺吃什么药| 腰腿疼痛吃什么药效果好| 俄狄浦斯情结是什么意思| 骨量是什么意思| 神疲乏力是什么症状| 熬夜头疼是什么原因| 9月13日是什么纪念日| 被蟑螂咬了擦什么药| 牙痛吃什么药好得快| 睡觉口苦是什么原因| ngu是什么意思| 什么心什么心| 坊字五行属什么| 什么是水解奶粉| 蚊子最怕什么| 松鼠代表什么生肖| 血虚肝旺有什么症状有哪些| 胃痉挛有什么症状表现| 停止长高有什么征兆| 外向孤独症是什么意思| 干咳吃什么药止咳效果好| 皮肤爱出油是什么原因| 聪明的女人是什么样的| 尖锐湿疣是什么| 佩字五行属什么| 重庆市长是什么级别| 年轻人白头发是什么原因引起的| 结肠炎吃什么药效果最好| 大便脂肪球是什么意思| 腰间盘突出有什么好的治疗方法| 阴晴不定是什么意思| 脚底板热是什么原因| 戒指上的s925是什么意思| 垂体瘤是什么病| 属相是什么意思| 吐槽是什么意思啊| 吃什么排毒| 糖类抗原是检查什么的| 爱被蚊子咬是什么原因| sheet是什么意思| 七星瓢虫吃什么食物| 早射吃什么药| 囊肿是什么原因| 黄腔是什么意思| 冒汗是什么原因| 丹参的功效与作用是什么| 香草是什么植物| 嘴唇一圈发黑是什么原因造成的| 清华什么专业最好| 燕子进屋来有什么兆头| jps是什么意思| 男性脾大是什么原因| 字母圈是什么| 金木水火土各代表什么| 完蛋是什么意思| 扩张是什么意思| 恶心想吐吃什么药好| 生日送什么花合适| 喉咙发炎吃什么药好得快| 平起平坐代表什么生肖| 天降甘霖什么意思| 血清蛋白是什么| 晚上睡觉老做梦是什么原因| 为什么叫211大学| 军绿色是什么颜色| 草是什么颜色的| 什么是邮箱地址应该怎么填写| 生门是什么意思| 日入是什么时辰| 宝刀未老的意思是什么| 艾滋病是一种什么病| 喝什么水对身体好| 知府相当于现在什么官| 1月24日是什么星座| 破气是什么意思| 洛什么意思| 什么是戒断反应| 喝酒后呕吐是什么原因| 拍肺片挂什么科| 什么是交际花| 后背痛是什么病的先兆| 心脏扩大吃什么药好| 隐血是什么意思| 不可抗力是什么意思| 头臀长是什么意思| 尿胆原阳性是什么病| lh是什么意思啊| 打嗝和嗳气有什么区别| 脚起皮干裂是什么原因| 06年属什么| 三聚磷酸钠是什么| 三问表是什么意思| 五月二十日是什么星座| 十八罗汉分别叫什么| 高沫是什么茶| 鲨鱼吃什么| 俞伯牙摔琴谢知音摔的是什么乐器| 射精是什么| 甲状腺结节有什么感觉| 高密度脂蛋白偏高是什么原因| 贴切的意思是什么| 梦见晒衣服是什么意思| 家政是什么工作| 马刺是什么| mb是什么| 手关节黑是什么原因| 把碗打碎了有什么征兆| 调虎离山是什么意思| 什么是活珠子| 人体出汗多是什么原因| 血栓的症状是什么| 疣体是什么| 什么是活检检查| 小家碧玉是什么生肖| 非萎缩性胃炎吃什么药效果好| 老实人为什么总被欺负| 什么的草帽| 杜甫的诗被称为什么| 问其故的故是什么意思| 五行金代表什么| 萎缩性鼻炎用什么药| 戏子是什么意思| qp是什么牌子| 飞蚊症用什么药| 皮角是什么病| 细菌性感冒吃什么药效果好| 狗能吃巧克力吗为什么| 一般什么意思| 吃什么补气血| 嘴巴下面长痘痘是什么原因| IC什么意思| 降钙素原检测是什么| 尿结石有什么症状| 电磁炉滴滴响不加热是什么原因| 什么叫造影| 薏米和什么一起煮粥最好| 灰指甲看什么科| 人的三观是什么| 缅甸的首都叫什么名字| 8023是什么意思| 流金岁月什么意思| 神经纤维瘤是什么病| 送羊是什么意思| 什么是哺乳动物| 毫升是什么单位| 梵天是什么意思| 下午8点是什么时辰| 170是什么尺码| 蛇喜欢吃什么食物| 梦见自己大出血是什么征兆| 润喉咙什么东西最合适| 麦克白夫人什么意思| 内心丰盈是什么意思| 双向转诊是什么意思| 孕晚期吃什么好| 安络血又叫什么名| 秋后问斩是什么意思| 黄色分泌物是什么原因| rp是什么意思| 晕血是什么原因| 鳞状上皮增生什么意思| 按摩脚底有什么好处| 大三阳是什么意思| 黑鱼又叫什么鱼| 喝胶原蛋白肽有什么好处| 尿酸高能吃什么鱼| 眼睛疼是什么原因| co2是什么意思| 姜水什么时候喝最好| 胆囊炎吃什么蔬菜好| 大力念什么| 世界之大无奇不有是什么意思| 农历六月初三是什么星座| 梦见刨红薯是什么意思| 肿瘤标志物高说明什么| 卵巢囊性结构是什么| 感冒为什么会咳嗽| 脾胃伏火是什么意思| 伤口撒什么药粉好得快| 去迪拜打工需要什么条件| 梦见水代表什么| 西门子洗衣机不脱水是什么原因| 主动脉夹层是什么病| 捆鸡是什么做的| 梦见被雷劈什么意思| 鼻子两侧毛孔粗大是什么原因造成的| 无语凝噎是什么意思| 独断万古是什么意思| 内透声差是什么意思| 回盲肠在什么位置| msm是什么意思| 榴莲为什么臭| 1997年什么命| aivei是什么品牌| 为什么下巴经常长痘痘| 为什么来大姨妈会拉肚子| 频繁打嗝是什么原因| 小孩突然抽搐失去意识是什么原因| 莓茶是什么茶| 鼻子出血什么原因| 寮房是什么意思| 预防保健科是做什么的| 疱疹用什么药可以根治| 腋窝疼是什么原因| 屁股骨头疼是什么原因| 请问紫苏叶有什么功效| 屈光是什么意思| 火车为什么会晚点| 表哥的女儿叫什么| 男生早上为什么会晨勃| 解构是什么意思| 为什么一同房就出血| 无住生心是什么意思| 岳云鹏为什么这么火| 肾积水有什么症状表现| 吃什么对肝有好处| 百度
Go language tutorial manual / Go 语言运算符

急躁是什么意思

Go 语言运算符

百度 因黑客行为或用户的保管疏忽导致帐号、密码遭他人非法使用,思客不承担任何责任。

运算符用于在程序运行时执行数学或逻辑运算。

Go 语言内置的运算符有:

  • 算术运算符

  • 关系运算符

  • 逻辑运算符

  • 位运算符

  • 赋值运算符

  • 其他运算符

接下来让我们来详细看看各个运算符的介绍。


算术运算符

下表列出了所有Go语言的算术运算符。假定 A 值为 10,B 值为 20。

运算符描述实例
+相加A + B 输出结果 30
-相减A - B 输出结果 -10
*相乘A * B 输出结果 200
/相除B / A 输出结果 2
%求余B % A 输出结果 0
++自增A++ 输出结果 11
--自减A-- 输出结果 9

以下实例演示了各个算术运算符的用法:

package main

import "fmt"

func main() {

   var a int = 21
   var b int = 10
   var c int

   c = a + b
   fmt.Printf("第一行 - c 的值为 %d\n", c )
   c = a - b
   fmt.Printf("第二行 - c 的值为 %d\n", c )
   c = a * b
   fmt.Printf("第三行 - c 的值为 %d\n", c )
   c = a / b
   fmt.Printf("第四行 - c 的值为 %d\n", c )
   c = a % b
   fmt.Printf("第五行 - c 的值为 %d\n", c )
   a++
   fmt.Printf("第六行 - c 的值为 %d\n", a )
   a--
   fmt.Printf("第七行 - c 的值为 %d\n", a )
}

以上实例运行结果:

第一行 - c 的值为 31
第二行 - c 的值为 11
第三行 - c 的值为 210
第四行 - c 的值为 2
第五行 - c 的值为 1
第六行 - c 的值为 22
第七行 - c 的值为 21

关系运算符

下表列出了所有Go语言的关系运算符。假定 A 值为 10,B 值为 20。

运算符描述实例
==检查两个值是否相等,如果相等返回 True 否则返回 False。(A == B)  为 False
!=检查两个值是否不相等,如果不相等返回 True 否则返回 False。(A != B) 为 True
>检查左边值是否大于右边值,如果是返回 True 否则返回 False。(A > B) 为 False
<检查左边值是否小于右边值,如果是返回 True 否则返回 False。(A < B) 为 True
>=检查左边值是否大于等于右边值,如果是返回 True 否则返回 False。(A >= B) 为 False
<=检查左边值是否小于等于右边值,如果是返回 True 否则返回 False。(A <= B) 为 True

以下实例演示了关系运算符的用法:

package main

import "fmt"

func main() {
   var a int = 21
   var b int = 10

   if( a == b ) {
      fmt.Printf("第一行 - a 等于 b\n" )
   } else {
      fmt.Printf("第一行 - a 不等于 b\n" )
   }
   if ( a < b ) {
      fmt.Printf("第二行 - a 小于 b\n" )
   } else {
      fmt.Printf("第二行 - a 不小于 b\n" )
   } 
   
   if ( a > b ) {
      fmt.Printf("第三行 - a 大于 b\n" )
   } else {
      fmt.Printf("第三行 - a 不大于 b\n" )
   }
   /* Lets change value of a and b */
   a = 5
   b = 20
   if ( a <= b ) {
      fmt.Printf("第四行 - a 小于等于  b\n" )
   }
   if ( b >= a ) {
      fmt.Printf("第五行 - b 大于等于 b\n" )
   }
}

以上实例运行结果:

第一行 - a 不等于 b
第二行 - a 不小于 b
第三行 - a 大于 b
第四行 - a 小于等于  b
第五行 - b 大于等于 b

逻辑运算符

下表列出了所有Go语言的逻辑运算符。假定 A 值为 True,B 值为 False。

运算符描述实例
&&逻辑 AND 运算符。 如果两边的操作数都是 True,则条件 True,否则为 False。(A && B) 为 False
||逻辑 OR 运算符。 如果两边的操作数有一个 True,则条件 True,否则为 False。(A || B) 为 True
!逻辑 NOT 运算符。 如果条件为 True,则逻辑 NOT 条件 False,否则为 True。!(A && B) 为 True

以下实例演示了逻辑运算符的用法:

package main

import "fmt"

func main() {
   var a bool = true
   var b bool = false
   if ( a && b ) {
      fmt.Printf("第一行 - 条件为 true\n" )
   }
   if ( a || b ) {
      fmt.Printf("第二行 - 条件为 true\n" )
   }
   /* 修改 a 和 b 的值 */
   a = false
   b = true
   if ( a && b ) {
      fmt.Printf("第三行 - 条件为 true\n" )
   } else {
      fmt.Printf("第三行 - 条件为 false\n" )
   }
   if ( !(a && b) ) {
      fmt.Printf("第四行 - 条件为 true\n" )
   }
}

以上实例运行结果:

第二行 - 条件为 true
第三行 - 条件为 false
第四行 - 条件为 true

位运算符

位运算符对整数在内存中的二进制位进行操作。

下表列出了位运算符 &, |, 和 ^ 的计算:

pqp & qp | qp ^ q
00000
01011
11110
10011

假定 A = 60;  B = 13; 其二进制数转换为:

A = 0011 1100

B = 0000 1101

-----------------

A&B = 0000 1100

A|B = 0011 1101

A^B = 0011 0001

~A  = 1100 0011


C 语言支持的位运算符如下表所示。假定 A 为60,B 为13:

运算符描述实例
&按位与运算符"&"是双目运算符。 其功能是参与运算的两数各对应的二进位相与。(A & B) 结果为 12,  二进制为 0000 1100
|按位或运算符"|"是双目运算符。 其功能是参与运算的两数各对应的二进位相或(A | B) 结果为 61, 二进制为 0011 1101
^按位异或运算符"^"是双目运算符。 其功能是参与运算的两数各对应的二进位相异或,当两对应的二进位相异时,结果为1。(A ^ B) 结果为 49, 二进制为 0011 0001
<<左移运算符"<<"是双目运算符。左移n位就是乘以2的n次方。 其功能把"<<"左边的运算数的各二进位全部左移若干位,由"<<"右边的数指定移动的位数,高位丢弃,低位补0。A << 2 结果为 240 ,二进制为 1111 0000
>>右移运算符">>"是双目运算符。右移n位就是除以2的n次方。 其功能是把">>"左边的运算数的各二进位全部右移若干位,">>"右边的数指定移动的位数。A >> 2 结果为 15 ,二进制为 0000 1111

以下实例演示了逻辑运算符的用法:

package main

import "fmt"

func main() {

   var a uint = 60	/* 60 = 0011 1100 */  
   var b uint = 13	/* 13 = 0000 1101 */
   var c uint = 0          

   c = a & b       /* 12 = 0000 1100 */ 
   fmt.Printf("第一行 - c 的值为 %d\n", c )

   c = a | b       /* 61 = 0011 1101 */
   fmt.Printf("第二行 - c 的值为 %d\n", c )

   c = a ^ b       /* 49 = 0011 0001 */
   fmt.Printf("第三行 - c 的值为 %d\n", c )

   c = a << 2     /* 240 = 1111 0000 */
   fmt.Printf("第四行 - c 的值为 %d\n", c )

   c = a >> 2     /* 15 = 0000 1111 */
   fmt.Printf("第五行 - c 的值为 %d\n", c )
}

以上实例运行结果:

第一行 - c 的值为 12
第二行 - c 的值为 61
第三行 - c 的值为 49
第四行 - c 的值为 240
第五行 - c 的值为 15

赋值运算符

下表列出了所有Go语言的赋值运算符。

运算符描述实例
=简单的赋值运算符,将一个表达式的值赋给一个左值C = A + B 将 A + B 表达式结果赋值给 C
+=相加后再赋值C += A 等于 C = C + A
-=相减后再赋值C -= A 等于 C = C - A
*=相乘后再赋值C *= A 等于 C = C * A
/=相除后再赋值C /= A 等于 C = C / A
%=求余后再赋值C %= A 等于 C = C % A
<<=左移后赋值C <<= 2 等于  C = C << 2
>>=右移后赋值C >>= 2 等于  C = C >> 2
&=按位与后赋值C &= 2 等于  C = C & 2
^=按位异或后赋值C ^= 2 等于  C = C ^ 2
|=按位或后赋值C |= 2 等于  C = C | 2

以下实例演示了赋值运算符的用法:

package main

import "fmt"

func main() {
   var a int = 21
   var c int

   c =  a
   fmt.Printf("第 1 行 - =  运算符实例,c 值为 = %d\n", c )

   c +=  a
   fmt.Printf("第 2 行 - += 运算符实例,c 值为 = %d\n", c )

   c -=  a
   fmt.Printf("第 3 行 - -= 运算符实例,c 值为 = %d\n", c )

   c *=  a
   fmt.Printf("第 4 行 - *= 运算符实例,c 值为 = %d\n", c )

   c /=  a
   fmt.Printf("第 5 行 - /= 运算符实例,c 值为 = %d\n", c )

   c  = 200; 

   c <<=  2
   fmt.Printf("第 6行  - <<= 运算符实例,c 值为 = %d\n", c )

   c >>=  2
   fmt.Printf("第 7 行 - >>= 运算符实例,c 值为 = %d\n", c )

   c &=  2
   fmt.Printf("第 8 行 - &= 运算符实例,c 值为 = %d\n", c )

   c ^=  2
   fmt.Printf("第 9 行 - ^= 运算符实例,c 值为 = %d\n", c )

   c |=  2
   fmt.Printf("第 10 行 - |= 运算符实例,c 值为 = %d\n", c )

}

以上实例运行结果:

第 1 行 - =  运算符实例,c 值为 = 21
第 2 行 - += 运算符实例,c 值为 = 42
第 3 行 - -= 运算符实例,c 值为 = 21
第 4 行 - *= 运算符实例,c 值为 = 441
第 5 行 - /= 运算符实例,c 值为 = 21
第 6行  - <<= 运算符实例,c 值为 = 800
第 7 行 - >>= 运算符实例,c 值为 = 200
第 8 行 - &= 运算符实例,c 值为 = 0
第 9 行 - ^= 运算符实例,c 值为 = 2
第 10 行 - |= 运算符实例,c 值为 = 2

其他运算符

下表列出了Go语言的其他运算符。

运算符描述实例
&返回变量存储地址&a; 将给出变量的实际地址。
*指针变量。*a; 是一个指针变量

以下实例演示了其他运算符的用法:

package main

import "fmt"

func main() {
   var a int = 4
   var b int32
   var c float32
   var ptr *int

   /* 运算符实例 */
   fmt.Printf("第 1 行 - a 变量类型为 = %T\n", a );
   fmt.Printf("第 2 行 - b 变量类型为 = %T\n", b );
   fmt.Printf("第 3 行 - c 变量类型为 = %T\n", c );

   /*  & 和 * 运算符实例 */
   ptr = &a	/* 'ptr' 包含了 'a' 变量的地址 */
   fmt.Printf("a 的值为  %d\n", a);
   fmt.Printf("*ptr 为 %d\n", *ptr);
}

以上实例运行结果:

第 1 行 - a 变量类型为 = int
第 2 行 - b 变量类型为 = int32
第 3 行 - c 变量类型为 = float32
a 的值为  4
*ptr 为 4

运算符优先级

有些运算符拥有较高的优先级,二元运算符的运算方向均是从左至右。下表列出了所有运算符以及它们的优先级,由上至下代表优先级由高到低:

优先级运算符
7^ !
6* / % << >> & &^
5+ - | ^
4== != < <= >= >
3<-
2&&
1||

当然,你可以通过使用括号来临时提升某个表达式的整体运算优先级。

以上实例运行结果:

package main

import "fmt"

func main() {
   var a int = 20
   var b int = 10
   var c int = 15
   var d int = 5
   var e int;

   e = (a + b) * c / d;      // ( 30 * 15 ) / 5
   fmt.Printf("(a + b) * c / d 的值为 : %d\n",  e );

   e = ((a + b) * c) / d;    // (30 * 15 ) / 5
   fmt.Printf("((a + b) * c) / d 的值为  : %d\n" ,  e );

   e = (a + b) * (c / d);   // (30) * (15/5)
   fmt.Printf("(a + b) * (c / d) 的值为  : %d\n",  e );

   e = a + (b * c) / d;     //  20 + (150/5)
   fmt.Printf("a + (b * c) / d 的值为  : %d\n" ,  e );  
}

以上实例运行结果:

(a + b) * c / d 的值为 : 90
((a + b) * c) / d 的值为  : 90
(a + b) * (c / d) 的值为  : 90
a + (b * c) / d 的值为  : 50
打完耳洞要注意什么 卵巢早衰吃什么药 什么叫佛系 39年属什么生肖 颅脑平扫是检查什么
手指月牙白代表什么 脖子上长小肉粒是什么原因 夫妻分床睡意味着什么 细胞质是什么 甲状腺结节有什么症状
大是大非是什么意思 义乌有什么大学 邮电局是干什么的 善莫大焉是什么意思 喜什么自什么
什么牌子的洗面奶好用 结甲可能是什么意思 煊是什么意思 蔗糖脂肪酸酯是什么 八仙桌是什么生肖
八髎区疼是什么原因hcv9jop0ns9r.cn 什么的水果hcv9jop6ns9r.cn 胃胀痛吃什么药hcv9jop2ns6r.cn 生蚝有什么功效hcv9jop1ns3r.cn 颈管细胞有是什么意思hcv7jop5ns4r.cn
乳腺病是什么意思hcv8jop4ns3r.cn 植脂末是什么东西hcv9jop5ns9r.cn 潘字五行属什么hcv8jop1ns8r.cn 海松茸是什么东西hcv8jop8ns4r.cn 阳历7月15日是什么星座bfb118.com
05是什么生肖hcv9jop5ns6r.cn 核糖体是什么hcv8jop5ns9r.cn 胆固醇为什么会高hcv9jop1ns5r.cn 企鹅代表什么生肖hcv9jop8ns2r.cn 第一次见面送女生什么花hcv7jop6ns5r.cn
西昌火把节是什么时候zhiyanzhang.com 什么是切线hcv9jop4ns6r.cn 失眠为什么hcv9jop3ns0r.cn 吃什么对胰腺好hcv8jop3ns3r.cn 眼睛为什么会肿hcv8jop2ns6r.cn
百度