Go语言中的保留字和运算符详解
创始人
2024-06-03 08:18:14
0

在这里插入图片描述

前言

🏠个人主页:我是沐风晓月
🧑个人简介:大家好,我是沐风晓月,双一流院校计算机专业,阿里云博客专家
😉😉 💕 座右铭: 先努力成长自己,再帮助更多的人,一起加油进步
🍺🍺🍺 💕欢迎大家:这里是CSDN,我总结知识的地方,喜欢的话请三连,有问题请私信😘

文章目录

  • 前言
  • 一. 保留字
  • 二. 运算符
    • 2.1 算术运算符
    • 2.2 关系运算符
    • 2.3 逻辑运算符
    • 2.4 位运算符
    • 2.5 赋值运算符
  • 三. 优先级
  • 总结

一. 保留字

Go语言中有25个保留关键字(keyword),保留关键字不能被用来作为常量,变量,函数名。

所有保留字如下:

这 25 个关键字按照作用可以分为 3 类,分别为包管理、程序实体声明与定义与程序流程控制:

包管理(2个):import	package程序实体声明与定义(8个):chan	const	func	interface	map	struct	type	var程序流程控制(15个):break	case	continue	default	defer	else	fallthrough	for		go		goto		if		range	return	select		switch

除了保留关键字外,外另还提供了36个预定的标识符,其包括基础数据类型和系统内嵌函数。

二. 运算符

我们常说程序=算法+数据,算法指的是利用计算机解决问题的处理步骤,简而言之,算法就是解决问题的步骤。 从加法指令到上万台服务器组成的分布式计算集群,都是由算法去处理不同层次存储设备里的数据。

有句话说: 硬件的方向是物理,软件的方式是数学,一般学数学专业的,最后会成为管理程序员干活的。

go语言常见的运算符分类:

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

2.1 算术运算符

假定 a :=10 b:=20

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

用实例来验证算术运算符:

package mainimport "fmt"func main() {var a int = 10var b int = 20var C intC = a + bfmt.Println("a+b=",C)C = a - bfmt.Println("a-b=",C)C = a * bfmt.Println("a*b=",C)C = a / bfmt.Println("a/b=",C)C = a % bfmt.Println("a%b=",C)a++fmt.Println("A++ =",a)}

2.2 关系运算符

下表列出了所有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 mainimport "fmt"func main() {var a int = 10var b int = 20fmt.Println(a == b) //falsefmt.Println(a < b) //truefmt.Println(a > b) //falsefmt.Println(a != b) //true}

2.3 逻辑运算符

  • &&逻辑 AND 运算符。 如果两边的操作数都是 True,则为 True,否则为 False。
  • ||逻辑 OR 运算符。 如果两边的操作数有一个 True,则为 True,否则为 False。
  • !逻辑 NOT 运算符。 如果条件为 True,则为 False,否则为 True。
package mainimport "fmt"func main() {var(a = trueb = false)fmt.Println("a && b" ,a && b)fmt.Println("a || b" ,a || b)fmt.Println("!a" ,!a)}

运行结果:

2.4 位运算符

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

运算符描述例子
&参与运算的两数各对应的二进位相与。(两位均为1才为1)a &b 0101 & 0011 = 0001
|参与运算的两数各对应的二进位相或。(两位有一个为1就为1)a|b 0101 |0011 =0111
^参与运算的两数各对应的二进位相异或,当两对应的二进位相异时,结果为1。0101 ^ 0011=0110
<<左移n位就是乘以2的n次方。“a<0001<<3 =1000
>>右移n位就是除以2的n次方。“a>>b”是把a的各二进位全部右移b位。1010 >> 2 =0011

func main() {var a uint = 60    /* 60 = 0011 1100 */var b uint = 13    /* 13 = 0000 1101 */var c uint = 0c = a & b       /* 12 = 0000 1100 */fmt.Printf("Line 1 - Value of c is %d\n", c )c = a | b       /* 61 = 0011 1101 */fmt.Printf("Line 2 - Value of c is %d\n", c )c = a ^ b       /* 49 = 0011 0001 */fmt.Printf("Line 3 - Value of c is %d\n", c )c = a << 2     /* 240 = 1111 0000 */fmt.Printf("Line 4 - Value of c is %d\n", c )c = a >> 2     /* 15 = 0000 1111 */fmt.Printf("Line 5 - Value of c is %d\n", c )
}

运行结果:

2.5 赋值运算符

运算符描述
=简单的赋值运算符,将一个表达式的值赋给一个左值
+=相加后再赋值
-=相减后再赋值
*=相乘后再赋值
/=相除后再赋值
%=求余后再赋值
<<=左移后赋值
>>=右移后赋值
&=按位与后赋值
=按位或后赋值
^=按位异或后赋值
package mainimport "fmt"func main() {var  a int = 20var c intc=afmt.Println(c) //20c += afmt.Println(c) //40c *=afmt.Println(c) //800
}

三. 优先级

下表为各运算符的优先级示图,优先级从高到低:

优先级类别运算符
1括号运算符()
2单目运算符!、++、–
3算数运算符*、/、%
4+、-
5位移运算符>>、<<
6关系运算符<、<=、>、>=
7==、!=
8按位与&
9按位异或^
10按位或|
11逻辑与&&
12逻辑或||
13赋值运算符=、+=、-=、*=、/=、 %=、 >=、 <<=、&=、^=、
package mainimport "fmt"func main() {var a = 3var b = 4var c = 12fmt.Println(a+b*c)  //51fmt.Println((a+b)*c)//84
}

从上述代码中可以看到 a+b*c是先运算b*c +a,结果等于51

总结

Go 语言的运算符一般分为算数运算符、关系运算符、逻辑运算符、位运算符以及赋值运算符四大类, 你学会了吗?

💕 好啦,这就是今天要分享给大家的全部内容了,我们下期再见!
💕 博客主页:mufeng.blog.csdn.net
💕 本文由沐风晓月原创,首发于CSDN博客
💕 全力以赴,持续学习,不负如来不负卿
💕 喜欢的话记得点赞收藏哦

相关内容

热门资讯

我的札记本作文(精简5篇) 我的札记本作文 篇一我的札记本是我生活中的得力助手。它陪伴我度过了许多美好的时光,记录了许多珍贵的回...
鸡年春节歌曲:迎春花歌词(精... 鸡年春节歌曲:迎春花歌词 篇一《迎春花》是一首充满喜庆和欢乐气氛的鸡年春节歌曲。这首歌曲以迎春花为主...
少年的模样-记叙文【精彩5篇... 少年的模样-记叙文 篇一夏日的阳光透过窗帘洒在地板上,照亮了少年的脸庞。他身穿一件白色的T恤,牛仔裤...
初中英语作文:蘑菇 Mush... 初中英语作文:蘑菇 Mushrooms 篇一Mushrooms are a type of fung...
遇见作文【通用6篇】 遇见作文 篇一近年来,作文成为了学生们备受关注的一项重要考试内容。然而,对于很多学生来说,作文却是一...
游藏龙百瀑初一作文【优选6篇... 游藏龙百瀑初一作文 篇一游藏龙百瀑初一作文 篇一游藏龙是我国著名的风景名胜区之一,位于贵州省黔东南苗...
初中的军训作文600字(精选... 初中的军训作文600字 篇一初中的军训是一次难忘的经历初中的军训是每个初中生都会经历的一段时光。我记...
我的未来我做主初一作文(精选... 我的未来我做主初一作文 篇一我的未来我做主未来,是一个充满无限可能的词汇。在这个时代,我们都有自己的...
同上一堂课雷锋告诉我作文(通... 篇一:同上一堂课雷锋告诉我雷锋是一位伟大的人物,他的事迹深深地感动了我。上一堂课,我们学习了雷锋的故...
水仙初一作文(优质5篇) 水仙初一作文 篇一我的初一生活初一,是一个全新的开始,也是我人生中的一个重要阶段。我迎来了初中生活,...
从前的我们的作文500字【优... 从前的我们的作文500字 篇一过去的我们总是无忧无虑地生活着,那是我们最纯真的时光。回想起那些年,我...
我庆幸我是中国人初一作文55... 我庆幸我是中国人初一作文550字 篇一作为一个初一学生,我庆幸自己是中国人。中国是一个拥有五千年文明...
初中作文题材万能素材积累【精... 初中作文题材万能素材积累 篇一 随着社会的发展,人们对于环境保护的意识越来越强烈。环境污染已经成为...
亲切的怀恋作文(优选3篇) 亲切的怀恋作文 篇一怀恋已逝的时光记忆是一扇扇窗户,打开时可以穿越时光,回到过去。尽管时间已经过去了...
我真开心初一范文63篇 我真开心初一范文 第一篇我相信大家对于那些能够让自己开心快乐的事情肯定不会淡忘。在去年的时候,尤其是...
天堂寨之行初一作文(优质3篇... 天堂寨之行初一作文 篇一天堂寨之行初一暑假,我和家人一起来到了著名的旅游景点——天堂寨。这是一个位于...
消失在记忆里的光阴初中作文8... 消失在记忆里的光阴初中作文800字 篇一初中时光如流水般消失在我的记忆里,仿佛昨日的事情转眼间已经过...
难忘的一件事作文初一600字... 难忘的一件事作文初一600字 篇一我难以忘怀的一件事发生在我小学五年级的时候。那是一个晴朗的春天,阳...
初中散文:人间有真情(精选5... 初中散文:人间有真情 篇一人间有真情人间有真情,是一种温暖的存在。我还记得那个夏天,当我意外受伤时,...
在回家的路上初中作文【经典5... 在回家的路上初中作文 篇一回家是每天都要经历的事情,也是我最期待的时刻。每天放学后,我都会急匆匆地赶...