1.算术运算符

算术运算符有:+,-,*,/,%,++,--

1.1 加号(+)

  • 表示正数
  • 数字相加
  • 字符串拼接
package main

import (
"fmt"
) func main() {
num1 := +4
num2 := 8
str1 := "abc"
str2 := "def"
fmt.Println(num1 + num2) //将两个整数类型相加
fmt.Println(str1 + str2) //将两个字符串拼接
}

输出结果

12
abcdef

1.2 减号(-)

  • 表示负数
  • 数字相减
package main

import (
"fmt"
) func main() {
num1 := -4
num2 := 8
fmt.Println(num1 - num2) //将两个整数类型相减
}

输出结果

-12

1.3乘号(*)

  • 数字相乘
package main

import (
"fmt"
) func main() {
fmt.Println(10 * 2)
}

输出结果

20

1.4除号(/)

  • 数字相除
  • int类型相除输出也为int类型
  • float参与运算,结果一定为float类型
package main

import (
"fmt"
) func main() {
fmt.Println(10 / 3)
fmt.Println(10.0 / 3)
}

输出结果

3
3.3333333333333335

1.5 取模(%)

  • 等价于公式 "a-a/b*b"
package main

import "fmt"

func main() {
//取模公式:a-a/b*b
fmt.Println(10 % 4) //10-10/4*4=10-2*4=10-8=2
fmt.Println(-10 % 4) //-10--10/4*4=-10--2*4=-10--8=-2
fmt.Println(10 % -4) // 10-10/-4*-4=10--2*-4=10-8=2
fmt.Println(-10 % -4) //-10--10/-4*-4=-10-2*-4=-10--8=-2
}

输出结果

2
-2
2
-2

1.6 自增(++)

  • ++等于加1。
  • 只能当做一个独立语言使用,没有++a,+a操作
  • 只能写在变量的后面(a++),不能写在变量的前面(++a)
package main

import "fmt"

func main() {
num1 := 20
num1++ //num1=20+1=21
num1++ //nim1=21+1=22
fmt.Println(num1)
}

输出结果

22

1.7 自减(--)

  • --等于减1。
  • 只能当做一个独立语言使用,没有--a,-a操作
  • 只能写在变量的后面(a--),不能写在变量的前面(--a)
package main

import "fmt"

func main() {
num1 := 20
num1-- //num1=20-1=19
num1-- //nim1=19-1=18
fmt.Println(num1)
}

输出结果

18

2.赋值运算符

赋值运算符有:=,+=,-=,*=,/=,%=

2.1 直接赋值赋值(=)

package main

import "fmt"

func main() {
var n1 int = 10 //直接赋值
fmt.Println(n1)
var n2 int = (10 - 2) / (8 - 4) //先运算,然后将运算后的值赋值
fmt.Println(n2)
}

输出结果

10
2

2.2 运算之后赋值(+=,-+,/=,*=,%=)

package main

import "fmt"

func main() {
var n3 int = 8
n3 += 2 //等价于 n3 = n3 + 2
fmt.Printf("n3的值为:%v\n", n3)
var n4 float64 = 1.234
n4 -= 0.123 //等价于 n4 = n4 - 0.123
fmt.Printf("n4的值为:%v\n", n4)
var n5 int = 2
n5 *= 2 //等价于 n5 = n5 * 2
fmt.Printf("n5的值为:%v\n", n5)
var n6 int = 10
n6 %= 2 //等价于n6 = n6 % 2
fmt.Printf("n6的值为:%v\n", n6)
var n7 int = 9
n7 /= 2 //等价于n7 = n7 / 2
fmt.Printf("n7的值为:%v", n7)
} //func main() {
// var n1 int = 10 //直接赋值
// fmt.Println(n1)
// var n2 int = (10 - 2) / (8 - 4) //先运算,然后将运算后的值赋值
// fmt.Println(n2)
//}

输出结果

n3的值为:10
n4的值为:1.111
n5的值为:4
n6的值为:0
n7的值为:4

3.关系运算符

关系运算符有:==,!=,>,<,>=,<=

返回只有bool类型,true或false

package main

import "fmt"

func main() {
fmt.Println(2 == 2)
fmt.Println(2 > 1)
fmt.Println(2 < 1)
fmt.Println(2 >= 1)
fmt.Println(2 <= 1)
}

输出结果

true
true
false
true
false

4.逻辑运算符

逻辑运算符有:&&,||,!

&&:表示与

||:表示或

!:表示非

package main

import "fmt"

func main() {
fmt.Println(true && true) //两边都为true结果为true
fmt.Println(true && false) //一边为false结果为false
fmt.Println(false && true) //一边为false结果为false
fmt.Println(false && false) //两边都为false结果为false fmt.Println(true || true) //两边都为true结果为true
fmt.Println(true || false) //一边为true结果为true
fmt.Println(false || true) //一边为true结果为true
fmt.Println(false || false) //两边都为false结果为false fmt.Println(!true) //取反
fmt.Println(!false) //取反
}

输出结果

true
false
false
false
true
true
true
false
false
true

5.其他运算符

其他运算符有:&,*

& :返回变量的存储地址

*:取指针变量对应的数值

package main

import "fmt"

func main() {
var n1 int = 1
fmt.Printf("n1的内存地址为:%v\n", &n1) var n2 *int = &n1
fmt.Printf("n2的值为:%v\n", n2)
fmt.Printf("n2的内存地址指向为:%v\n", *n2)
}

输出结果

n1的内存地址为:0xc00001c0b8
n2的值为:0xc00001c0b8
n2的内存地址指向为:1

golang运算符的更多相关文章

  1. golang 运算符

    /* 算术运算符 : + - * / % ++ -- 关系运算符 : == != > < >= <= 逻辑运算符 : && || ! 赋值运算符 : = += ...

  2. golang运算与循环等

    一.golang运算符 1.算术运算符 + 相加- 相减* 相乘/ 相除% 求余++ 自增-- 自减 2.关系运算符 == 等于!= 不等于> 大于< 小于>= 大于等于<= ...

  3. golang之运算符

    目录 一.golang之运算符 1. 算术运算符 2. 关系运算符 3. 逻辑运算符 4. 位运算符 5. 赋值运算符 一.golang之运算符 Go 语言内置的运算符有:(比python少了一个成员 ...

  4. Golang的运算符优先级实操案例

    Golang的运算符优先级实操案例 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.运算符优先级案例 运算符是用来在程序运行时执行数学或逻辑运算的,在Go语言中,一个表达式可以包 ...

  5. Golang的单目(一元)运算符-地址操作符和接收操作符

    Golang的单目(一元)运算符-地址操作符和接收操作符 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.Golang的单目(一元)运算符概述 常见的地址操作符: &: ...

  6. Golang的运算符-位运算符

    Golang的运算符-位运算符 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.位运算符概述 常见的位逻辑运算符: &: 位与运算符,表示AND(表示所有条件都得匹配), ...

  7. Golang的运算符-逻辑运算符

    Golang的运算符-逻辑运算符 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.逻辑运算符概述 !: 非运算符,表示NOT(有种取反的意思),如"!ture" ...

  8. Golang的运算符-比较运算符

    Golang的运算符-比较运算符 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.比较运算符概述 比较运算符也称为关系运算符,比较运算符返回的类型为bool类型,常见的比较运算符 ...

  9. Golang的运算符-赋值运算符

    Golang的运算符-赋值运算符 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.赋值运算符概述 常见的赋值运算符: =: 表示赋值运算符,如"a = 100" ...

  10. Golang的运算符-算数运算符

    Golang的运算符-算数运算符 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.算术运算符概述 常见的算术运算符: +: 可表示正号,如",结果为"Jaso ...

随机推荐

  1. (4)go-micro微服务proto开发

    目录 一 Protobuf介绍 二 安装Protobuf 三 Protobuf语法 1.1 基本规范 1.2 字段规则 1.3 service如何定义 1.4 Message如何定义 四 proto代 ...

  2. P7076 [CSP-S2020] 动物园

    题面 动物园里饲养了很多动物,饲养员小 A 会根据饲养动物的情况,按照<饲养指南>购买不同种类的饲料,并将购买清单发给采购员小 B. 具体而言,动物世界里存在 \(2^k\) 种不同的动物 ...

  3. vue中使用echarts来绘制中国地图,NuxtJS制作疫情地图,内有详细注释,我就懒得解释了,vue cli制作疫情地图 代码略有不同哦~~~

    我的代码自我感觉----注释一向十分详细,就不用过多解释都是什么了~~ 因为最近疫情期间在家实在是没事干,想找点事,就练手了个小demo 首先上 NuxtJs版本代码,这里面 export defau ...

  4. jQuery查找标签、节点操作、事件绑定、Bootstrap页面框架

    jQuery查找标签.节点操作.事件绑定.Bootstrap页面框架 一.jQuery查找标签 1.各种选择器 1.基本选择器 $('#id') id选择器 $('.c1') 类(class)选择器 ...

  5. (数据科学学习手札149)用matplotlib轻松绘制漂亮的表格

    本文示例代码已上传至我的Github仓库https://github.com/CNFeffery/DataScienceStudyNotes 1 简介 大家好我是费老师,matplotlib作为数据可 ...

  6. 1 - 【RocketMQ 系列】CentOS 7.6 安装部署RocketMQ

    一.前置准备工作 CentOS 7.6 安装 jdk1.8 openjdk 1.查看JDK版本 yum search java|grep jdk 2.安装jdk1.8,安装默认的目录为: /usr/l ...

  7. 快速上手vue前端存储库、全局状态管理工具pinia

    pinia是什么,为什么我们要使用pinia? pinia是vue全局状态管理工具,类似vueX,用于全局的数据状态存储.修改变更等等 相较于vueX,pinia的使用较为简单,轻量级,上手容易,干掉 ...

  8. 题解 CF17201 A~D2

    A 先约分,显然答案必然是 0 或 1 或 2 相等为 0,主要考虑 1 或 2 的情况. 假设 \(a>b\),令 \(c = a/b\),如果 \(c\) 为整数答案为 \(1\),否则为 ...

  9. 跳板攻击之: MSF 添加路由方式渗透内网

    跳板攻击之: MSF 添加路由方式渗透内网 目录 跳板攻击之: MSF 添加路由方式渗透内网 1 Metasploit 跳板攻击: 添加路由方式原理 2 实验环境 2.1 建立 meterpreter ...

  10. RETRO研究: 持续缓解的RA患者的减量维持方案[EULAR2015_SAT0056]

    RETRO研究: 持续缓解的RA患者的减量维持方案   SAT0056 RETRO – STUDY OF REDUCTION OF THERAPY IN PATIENTS WITH RHEUMATOI ...