Golang基础学习(六)运算符 - Go语言中文社区

Golang基础学习(六)运算符


运算符

介绍

  • 运算符是一种特殊的符号,用以表示数据的运算、赋值和比较等
  • 算术运算符
  • 赋值运算符
  • 比较运算符
  • 逻辑运算符
  • 位运算符
  • 其他运算符

算数运算符

  • 对数值类型的变量进行运算

    • +正号
    • -负号
    • +、-、*、/(除)、%(取余)
    • ++:自增
    • –:自减
    • +字符串相加
  • /(除)

    • 运算符都是整数,会去掉小数部分,保留整数部分 10/4=2
    • 保留小数部分,需要有浮点数参与运算 10.0/4=2.5
  • %(取模)

    • 公式:a % b = a - a / b * b
    • -10 % 3 = -1
    • 10 % 3 = 1
    • -10 % -3 = -1
  • 注意事项

    • / 整数之间,只保留整数部分舍弃小数部分
    • %(取模),本质a % b = a - a / b * b
    • Golang中 ++ 或 – 只能当做一个独立语句使用。不能这样使用a=i++
    • ++ 或 – 只能写在变量后面

关系运算符

  • 结果都是bool型,要么true,要么false

  • 关系运算符组成的表达式,称为关系表达式

  • 经常用在if结构或者for循环结构

  • ==、!=、<、>、<=、>=

逻辑运算符

  • 连接多个条件,结果也是一个bool

  • &&(两边都为真,才为真)、||(只要有一个为真,就为真)、!(取反)

  • && 短路与(第一个条件为false,第二个条件不判断),|| 短路或(第一个条件为true,第二个条件不判断)

赋值运算符

  • 将某个运算后的值,赋给指定的变量

  • =、+=、-=、*=、/=、%=

  • <<=、>>=、&=(按位与后赋值)、^=(按位异或后赋值)、|=(按位或后赋值)

  • 运算顺序是从右到左

  • 左边只能是变量,右边可以是变量、表达式、常量值

  • a += 3,等价于 a = a + 3

交换a,b的值


a = a + b
b = a - b
a = a - b

运算符优先级

  • 单目运算(对一个变量进行运算)、赋值运算是从右向左

在这里插入图片描述

位运算符

  • &、|、^、<<、>>

其他运算符

  • &取地址

  • *指针变量

  • Golang中不支持三目运算符。Golang的设计理念:一种事情有且只有一种方法完成

键盘输入语句

  • fmt.Scanln() 获取一行的输入
  • fmt.Scanf() 可以按指定的格式输入

package main
import (
	"fmt"
)

func main(){

	// 接收控制台输入
	var name string
	var age byte

	fmt.Println("请输入姓名:")
	fmt.Scanln(&name)

	fmt.Println("请输入年龄:")
	fmt.Scanln(&age)

	fmt.Println("用户输入的姓名是:", name)
	fmt.Println("用户输入的年龄是:", age)

	var sex bool
	var sal float64

	fmt.Println("请输入性别、薪资,使用逗号隔开")
	fmt.Scanf("%t,%f", &sex, &sal)
	fmt.Println("用户输入的性别是:", sex)
	fmt.Println("用户输入的薪资是:", sal)

}

原码、反码、补码

  • 二进制最高位是符号位:0表示正数,1表示负数
  • 正数的原码、反码、补码都是一样
  • 负数的反码=它的原码符号位不变,其它位取反
  • 负数的补码=它的反码+1
  • 0的反码,补码都是0
  • 计算机运算的时候,都是以补码的方式运算的

&、|、^

  • & :按位与,同时为1才为1
  • | :按位或,有1就为1
  • ^ :按位异或,不同才为真

<<、>>

  • << 左移 :符号位不变,低位补0
  • ‘>> ’右移 :低位溢出,符号位不变,并用符号位补溢出的高位
版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/qq_36135928/article/details/103245449
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢