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. Spring项目中用了这种解耦模式,经理对我刮目相看

    前言 不知道大家在项目中有没有遇到过这样的场景,根据传入的类型,调用接口不同的实现类或者说服务,比如根据文件的类型使用 CSV解析器或者JSON解析器,在调用的客户端一般都是用if else去做判断, ...

  2. P8701 [蓝桥杯 2019 国 B] 第八大奇迹

    简要题意 你需要维护一个长度为 \(L\) 的序列 \(a\),初始时全部都是 \(0\),有 \(N\) 个操作,支持: C p x,将 \(a_p\) 修改为 \(x\). Q a b,输出 \( ...

  3. Educational Codeforces Round 141 解题报告

    Educational Codeforces Round 141 解题报告 \(\text{By DaiRuiChen007}\) \(\text{Contest Link}\) A. Make it ...

  4. Linux c 获取U盘挂载路径

    思路: 1.执行df -h 找到 带mnt的行.将结果存入一个文件中. system("df -h |grep mnt >./extendevinfo.txt"); 也可以直 ...

  5. ionic+vue+capacitor系列笔记--03项目使用Native插件

    话不多说,直接上代码 下载依赖 npm install @capacitor/camera 添加权限配置代码到安卓文件夹里的 AndroidManifest.xml <uses-permissi ...

  6. flutter2.x报错解决type (RouteSettings) => Route<dynamic> is not a subtype of type (RouteSettings) => Route<dynemic> of function result

    flutter2.x报错解决type (RouteSettings) => Route <dynamic>? is not a subtype of type (RouteSetti ...

  7. 【随笔记】SiliconLabs Android Demo 编译

    AndroidStudio:3.5.2 AndroidPhone:XiaoMi5 (Android 8.0) AndroidDemo:3.1.4-44 AndroidDemo 源码路径:Simplic ...

  8. Django中需要修改配置

    Django需要修改配置 1.修改templates中的路径配置: TEMPLATES = [ { 'BACKEND': 'django.template.backends.django.Django ...

  9. 【一句话】Thread.sleep(0)的作用

    首先一句话: 在循环中加入Thread.sleep(0),用于在循环中放入safepoint,JVM进行STW,然后触发GC. 详细: 说白了,它的作用就是给可数(int控制)循环加入safepoin ...

  10. C-09\编译预处理

    一.预处理 C语言在对源程序进行正常编译之前,会先对一些特殊的预处理命令作解释,产生一个新的源程序,该过程称为编译预处理 为了区分预处理命令和一般的C语句,所有预处理命令行都以"#" ...