go语言运算符
Posted 夕水
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了go语言运算符相关的知识,希望对你有一定的参考价值。
程序运行就会涉及到逻辑与数学运算,这样就离不开运算符了.运算符的作用就是解决数学与逻辑运算.go语言内置的运算符有:
算术运算符,关系运算符,逻辑运算符,位运算符,赋值运算符,以及其它运算符.
算术运算符.算术运算符包含加(+),减(-),乘(*),除(/),求余(%),自增(++),自减(--).来看如下的示例:
以上示例,用因式分解法定义了变量a和变量b,并赋值为数值,然后在主函数中打印出两者相加的结果.
以下是非数值相加的示例:
go语言相加运算符只能针对字符串和数值有效,如果是数字相加,则执行数学的相加运算,如果是字符串,则进行字符串拼接.而且还要注意的是,不同数据类型的变量是无法进行相加运算的,如果使用不同数据类型的变量相加,go语言编译时会报两个变量的数据类型不匹配的错误,如下图所示:
如果不是字符串和数字相加的结果,则报一个未定义的数据类型无效的操作,如下图所示:
来看相减运算符的示例:
以上定义了变量a和变量b,分别赋值,然后做减法运算.注意,只有数值型的数据能做减法运算,并且还要是相同类型的数据,其它类型的数据都不能做减法运算,否则会报错.
乘法运算示例如下:
乘法运算符使用规则同减法一致,即只有数值型数据生效,而且还必须是相同类型的数据.
来看除法示例:
除法规则同减法和乘法一样,并且除法还有一个特殊的性质,如上图所示,那就是不论除得尽还是除不尽除数,结果商都是返回整数,除不尽返回最接近商的整数.
来看求余示例:
求余也是一样的道理,按照正常的数学逻辑进行求余,如果不是数值型的数据或者两个变量的数据类型不同都会报错.
自增示例如下:
从上图可以看出,自增运算符就是让原值加1,这点和javascript很像,但go语言没有前置性和后置性的说法,并且同样的只针对数值型数据,毕竟go语言没有数据类型转换这一说法.
自减运算符示例如下:
从这些示例,我们可以知道,go语言算术运算符与JavaScript算术运算符用法很相似,但因为go语言没有类型转换以及没有前后置等说法,所以尤其需要注意.
以上是关于go语言运算符的主要内容,如果未能解决你的问题,请参考以下文章