您的位置:首页 > 编程语言 > Go语言

go-006-运算符

2017-05-06 18:33 246 查看
运算符用于在程序运行时执行数学或逻辑运算。

Go 语言内置的运算符有:

算术运算符

关系运算符

逻辑运算符

位运算符

赋值运算符

其他运算符

算术运算符

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



关系运算符

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



逻辑运算符

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



位运算符

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

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

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


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



赋值运算符

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



其他运算符

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



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


运算符优先级

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



可以通过使用括号来临时提升某个表达式的整体运算优先级。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: