首页 > 其他分享 >golang运算符

golang运算符

时间:2023-02-17 22:35:24浏览次数:34  
标签:golang false 10 fmt 运算符 Println main true

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,false,10,fmt,运算符,Println,main,true
From: https://www.cnblogs.com/LI-XinYu/p/17110411.html

相关文章

  • Golang 的 cobra 是如何实现使用链表实现命令树的
    Golang的cobra是如何实现使用链表实现命令树的在cobra中,每个命令都是独立的。通过parent.AddCommand(children)的形式进行串连。varroot=&cobra.Command{}......
  • python运算符的优先级规则
    1、先执行优先级高的运算,优先级低的操作后执行,同一优先级的操作按照从左到右的顺序进行。2、也可以像四则运算一样使用小括号,括号中的运算首先执行。实例#优先级使用规律#1......
  • golang 入门(七) 接口-多态
    所谓多态就是子类在继承了父类后,自己重新写了一个方法覆盖父类的同名方法。继续引用上文的案例,父类computer中有PowerOff方法,但是子类laptop把盖子合上也可以认为是一种Powe......
  • 03. 运算符
    一、运算符与表达式  运算符就是对字面量或者变量进行操作的符号;表达式是指用运算符把字面量或者变量连接起来,符合C语言语法的式子。不同运算符连接的表达式体现的......
  • golang串口通讯
    com.gopackagemainimport( "encoding/hex" "errors" "io" "strings" "time" "github.com/jacobsa/go-serial/serial" log"github.com/sirupsen/logrus")/......
  • Java语言常用哪些运算符?
    之前有个大家讨论过java的数据类型,总体来说类型和其他几种语言也相差无几,我为什么会这样说?我们应该都要知道Python可还有个复数类型。这里主要给大家讲解Java运算符的分类......
  • 运算符
    赋值运算符iTemp:=300;算术运算符逻辑运算符(1)布尔运算beginif(i>50)and(j<100)thenresult:=i+j;end;(2)位逻辑运算vari.j,k,l:integer;begin......
  • python语法入门之与用户交互、运算符
    目录一、程序与用户交互1.什么是与用户交互用户交互就是人往计算机中input/输入数据,计算机print/输出结果2.为什么要与用户交互为了让计算机能够像人一样与用户沟通交......
  • vue基础:js的几种循环方式、key值的解释、数组,对象的检测与更新、input事件、v-model双
    目录一、js的几种循环方式1.1v-for可以循环的变量1.2js的循环方式二、key值的解释三、数组,对象的检测与更新四、input事件五、v-model双向数据绑定六、过滤案例七、事件......
  • python海象运算符
    简介Python海象运算符是在PEP572中提出,并在Python3.8版本并入发布。海象运算符的英文原名叫AssignmentExpresions,即赋值表达式。海象表达式由一个:和一个......