分享
  1. 首页
  2. 文章

Go 语言学习之运算符

frank · · 1008 次点击 · · 开始浏览
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

01 算术运算符

算术运算符有加号(+)、减号(-)、乘号(*)、除号(/)、取余(%),我们声明两个变量 a 和 b,并分别赋值 10 和 5,通过代码,我们演示算术运算符的用法。

func main() {
 a := 10
 b := 5
 fmt.Println("a + b = ", a+b)
 fmt.Println("a - b = ", a-b)
 fmt.Println("a * b = ", a*b)
 fmt.Println("a / b = ", a/b)
 fmt.Println("a % b = ", a%b)
}

02 ++ 和 --

自增和自减不是运算符,只能作为独立语句使用,不能用于表达式,不能放在变量名前面使用。通过代码,我们演示 ++ 和 -- 的用法。

func main() {
 a := 10
 b := 5
 a++
 b--
 fmt.Println("a++:", a)
 fmt.Println("b--:", b)
}

03 赋值运算符

为了简化表达式,与大多数语言相同,Go 语言也提供了一些赋值运算符,有等号(=)、加等(+=)、减等(-=)、乘等(=)、除等(/)、取余等(%=),通过代码,我们演示赋值运算符的用法。

func main() {
 aa := 50
 aa += 10
 fmt.Println("aa = ", aa)
 bb := 50
 bb -= 10
 fmt.Println("bb = ", bb)
 cc := 50
 cc *= 10
 fmt.Println("cc = ", cc)
 dd := 50
 dd /= 10
 fmt.Println("dd = ", dd)
 ff := 50
 ff %= 10
 fmt.Println("ff = ", ff)
}

04 关系运算符

关系运算符主要用于流程控制语句中,在 Go 语言中,关系运算符有大于(>)、小于(<)、大于等于(>=)、小于等于(<=)、等于等于(==)和不等于(!=),通过代码,我们演示关系运算符的用法。

func main() {
 if a > 5 && b > 5 {
 fmt.Println("a > 5 且 b > 5")
 }
 if a > 5 || b > 5 {
 fmt.Println("a > 5 或 b > 5")
 }
 if a > 5 && b >= 5 {
 fmt.Println("a > 5 且 b >= 5")
 }
 if a == b {
 fmt.Println("a == b")
 }
 if a != b {
 fmt.Println("a != b")
 }
 boolean := false
 if !boolean {
 fmt.Println("非假既真")
 }
}

05 逻辑运算符

逻辑运算符,同样主要用于流程控制语句中,在 Go 语言中,逻辑运算符有且(&&)、或(||)、非(!),代码演示同上面的关系运算符代码。

06 & 和 *

取地址符(&)和指针运算符(*),不是所有对象都能进行取地址操作,但是变量总是能正确返回地址。指针运算符在等号左边时,可以更新目标对象,在等号右边时,可以获取目标对象。通过代码,我们演示取地址符和指针运算符的用法。

func main() {
 x := 50
 y := &x
 *y++
 z := *y
 fmt.Println("y = ", y)
 fmt.Println("x = ", x)
 fmt.Println("z = ", z)
}

07 位运算符

位运算符是对整数在内存中的二进制位进行操作。因为篇幅原因,本文我们不对位运算符做过多的介绍,在工作中,个人建议尽量少用或不用位运算符,原因是代码可读性不好。如果你对位运算符感兴趣,可自行查阅相关资料。

08 优先级

最后,我们来介绍一下运算符的优先级,一元运算符的优先级最高,二元运算符的优先级分五个级别,从高往低分别是:

*/%<<>>&&^
+-\^
==!=<=<>>=
&&
\\

相同优先级的二元运算符,从左往右依次计算。此外,我们还可以使用小括号提升某个表达式中运算符的优先级。


Go语言基础知识
image


有疑问加站长微信联系(非本文作者)

本文来自:Segmentfault

感谢作者:frank

查看原文:Go 语言学习之运算符

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

关注微信
1008 次点击
暂无回复
添加一条新回复 (您需要 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传

用户登录

没有账号?注册
(追記) (追記ここまで)

今日阅读排行

    加载中
(追記) (追記ここまで)

一周阅读排行

    加载中

关注我

  • 扫码关注领全套学习资料 关注微信公众号
  • 加入 QQ 群:
    • 192706294(已满)
    • 731990104(已满)
    • 798786647(已满)
    • 729884609(已满)
    • 977810755(已满)
    • 815126783(已满)
    • 812540095(已满)
    • 1006366459(已满)
    • 692541889

  • 关注微信公众号
  • 加入微信群:liuxiaoyan-s,备注入群
  • 也欢迎加入知识星球 Go粉丝们(免费)

给该专栏投稿 写篇新文章

每篇文章有总共有 5 次投稿机会

收入到我管理的专栏 新建专栏