golang运算符
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运算符的更多相关文章
- golang 运算符
/* 算术运算符 : + - * / % ++ -- 关系运算符 : == != > < >= <= 逻辑运算符 : && || ! 赋值运算符 : = += ...
- golang运算与循环等
一.golang运算符 1.算术运算符 + 相加- 相减* 相乘/ 相除% 求余++ 自增-- 自减 2.关系运算符 == 等于!= 不等于> 大于< 小于>= 大于等于<= ...
- golang之运算符
目录 一.golang之运算符 1. 算术运算符 2. 关系运算符 3. 逻辑运算符 4. 位运算符 5. 赋值运算符 一.golang之运算符 Go 语言内置的运算符有:(比python少了一个成员 ...
- Golang的运算符优先级实操案例
Golang的运算符优先级实操案例 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.运算符优先级案例 运算符是用来在程序运行时执行数学或逻辑运算的,在Go语言中,一个表达式可以包 ...
- Golang的单目(一元)运算符-地址操作符和接收操作符
Golang的单目(一元)运算符-地址操作符和接收操作符 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.Golang的单目(一元)运算符概述 常见的地址操作符: &: ...
- Golang的运算符-位运算符
Golang的运算符-位运算符 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.位运算符概述 常见的位逻辑运算符: &: 位与运算符,表示AND(表示所有条件都得匹配), ...
- Golang的运算符-逻辑运算符
Golang的运算符-逻辑运算符 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.逻辑运算符概述 !: 非运算符,表示NOT(有种取反的意思),如"!ture" ...
- Golang的运算符-比较运算符
Golang的运算符-比较运算符 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.比较运算符概述 比较运算符也称为关系运算符,比较运算符返回的类型为bool类型,常见的比较运算符 ...
- Golang的运算符-赋值运算符
Golang的运算符-赋值运算符 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.赋值运算符概述 常见的赋值运算符: =: 表示赋值运算符,如"a = 100" ...
- Golang的运算符-算数运算符
Golang的运算符-算数运算符 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.算术运算符概述 常见的算术运算符: +: 可表示正号,如",结果为"Jaso ...
随机推荐
- 更改json节点key
json节点key更改,给朋友写的小tool,顺便记录一下 单个指定 每一个需要修改的key,都需要指定 /** * 需要转义的key对象 * 原key: 新key */ const jsonKeys ...
- Socket爬虫:Python版
简述:较为底层的爬虫实现,用于了解爬虫底层实现的具体流程,现在各种好用的爬虫库(如requests,httpx...等)都是基于此进行封装的. PS:本文只作为实现请求的代码记录,基础部分不做过多阐述 ...
- Python网络爬虫get方法出现乱码的解决的三种方案
给大家祭出网络爬虫过程中三种中文乱码的处理方案,希望对大家的学习有所帮助. 方案一 将requests.get().text改为requests.get().content 我们可以看到通过text( ...
- SPOJ PHONELST - Phone List | UVA11362 Phone List | LibreOJ10049. 「一本通 2.3 例 1」Phone List
简要题意 \(t\) 组数据,每组数据给定 \(n\) 个长度不超过 \(10\) 的数字串,判断是否有两个字符串 \(A\) 和 \(B\),满足 \(A\) 是 \(B\) 的前缀,若有,输出 N ...
- 普冉PY32系列(一) PY32F0系列32位Cortex M0+ MCU简介
目录 普冉PY32系列(一) PY32F0系列32位Cortex M0+ MCU简介 普冉PY32系列(二) Ubuntu GCC Toolchain和VSCode开发环境 PY32F0系列上市其实相 ...
- C#爬虫开发小结
前言 2023年以来一直很忙,临近春节,各种琐事更多,但鸽了太久没写文章总是不舒坦,忙中偷闲来记录下最近用C#写爬虫的一些笔记. 爬虫一般都是用Python来写,生态丰富,动态语言开发速度快,调试也很 ...
- day09-AOP-02
AOP-02 4.问题提出 在上一篇的MyProxyProvider类中,我们的输出语句功能比较弱,在实际开发中,我们希望是以一个方法的形式,嵌入到真正执行的目标方法前,怎么办? 1.使用土方法解决 ...
- prettier+ts+eslint+vscode配置代码保存自动格式化,自动remove unsed declaration,delete no-unused-imports
每天都要开心(▽)哇: 以这个项目为案例 下面是项目的基本情况 What would you like to build? › App with Quasar CLI, let's go! Proje ...
- ADG无法同步:TT00进程报错 Error 12514
环境: Oracle 19.16 ADG (Single Instance -> RAC) 在配置ADG的场景,发现ADG不能同步. 1.查看报错信息 2.oerr查看该错误说明 3.尝试sql ...
- Unity_UIWidgets - 组件Drawer
Unity_UIWidgets - 组件Drawer 组件Drawer Drawer 构造 代码 效果 Drawer使用完毕 结语 图标Icon QQ 今日无推荐 组件Drawer 各位伙伴,周日愉快 ...