300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > Go 学习笔记(5)— 算术运算符 关系运算符 逻辑运算符 位运算符 赋值运算符

Go 学习笔记(5)— 算术运算符 关系运算符 逻辑运算符 位运算符 赋值运算符

时间:2021-11-27 18:20:33

相关推荐

Go 学习笔记(5)— 算术运算符 关系运算符 逻辑运算符 位运算符 赋值运算符

1. Go 运算符分类

Go语言内置的运算符有:

算术运算符关系运算符逻辑运算符位运算符赋值运算符其他运算符

1.1 算术运算符

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

Go语言中,自增/自减不再是一个操作符,而是一个语句。因此,在Go语言中自增只有一种写法:

i++i--

如果写成前置自增++i,或者赋值后自增a=i++都将导致编译错误。

package mainfunc main() {a := 10b := 100a++// syntax error: unexpected ++ at end of statement// c := a++// syntax error: unexpected --, expecting }// --bprintln(a)println(b)}

数值变量也可以支持++递增和--递减语句(译注:自增和自减是语句,而不是表达式,因此x = i++之类的表达式是错误的):

v := 1v++ // 等价方式 v = v + 1;v 变成 2v-- // 等价方式 v = v - 1;v 变成 1

1.2 关系运算符

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

1.3 逻辑运算符

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

1.4 位运算符

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

1.5 赋值运算符

1.6 其它运算符

指针变量 * 和地址值 & 的区别:

指针变量保存的是一个地址值,会分配独立的内存来存储一个整型数字。当变量前面有 * 标识时,才等同于 & 的用法,否则会直接输出一个整型数字

func main() {var a int = 4var ptr *intptr = &aprintln("a的值为", a); // 4println("*ptr为", *ptr); // 4println("ptr为", ptr); // 824633794744}

参考:

菜鸟教程

Go 学习笔记(5)— 算术运算符 关系运算符 逻辑运算符 位运算符 赋值运算符 取地址和指针运算符

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。