Go语言精修(尚硅谷笔记)第四章

本文介绍了Golang的算术运算符,包括加、减、乘、除和取模等,并强调了自增自减运算符的特殊用法,只能放在变量后独立使用。同时,展示了如何在Golang中实现类似三元运算的效果。文章还详细讲解了从键盘接收用户输入的方法,包括fmt.Scanln和fmt.Scanf的使用。
摘要由CSDN通过智能技术生成

四、运算符

4.1 算术运算符的一览表

运算符运算范例结果
+正号+33
-负号-4-4
+5+510
-6-42
*3*412
/5/51
%取模(取余)7%52
++自增a=2 a++a=3
自减a=2 a–a=1
+字符串相加“he”+“llo”“hello”

注意

1)Golang的自增自减只能当做一个独立语言使用时,不能这样使用。

2)Golang 的++ 和 – 只能写在变量的后面,不能写在变量的前面,即:只有 a++a-- 没有 ++a --a

package main
import (
	_ "fmt" 
)
func main() {

	//在golang中,++ 和 -- 只能独立使用.
	var i int = 8
	var a int 
	i++ // 独立使用,正确
	++i // 错误,前++
	a = i++ //错误,i++只能独立使用 
	a = i-- //错误, i--只能独立使用

	if i++ > 0 { //错误
		fmt.Println("ok")
	}
}

4.2 面试题

package main
import (
	"fmt" 
)
func main() {

	//有两个变量,a和b,要求将其进行交换,但是不允许使用中间变量,最终打印结果
	var a int = 10
	var b int = 20

	a = a + b //
	b = a - b // b = a + b - b ==> b = a
	a = a - b // a = a + b - a ==> a = b

	fmt.Printf("a=%v b=%v", a, b)
}

4.3 特别说明

image-20210112175249717

举例说明,如果在golang中实现三元运算的效果

package main
import (
	"fmt" 
)
func main() {
	var n int 
	var i int = 10
	var j int = 12
	//传统的三元运算
	//n = i > j ? i : j
	if i > j {
		n = i
	} else {
		n = j
	}
	fmt.Println("n=", n) // 12
}

4.4 从键盘输入

1 ) 导入fmt包

2 ) 调用fmt包的 fmt.Scanln () 或者 fmt.Scanf ()

image-20210112175654292

image-20210112175654292

package main
import (
	"fmt" 
)


func main() {

	//要求:可以从控制台接收用户信息,【姓名,年龄,薪水, 是否通过考试 】。
	//方式1 fmt.Scanln
	//1先声明需要的变量
	var name string
	var age byte
	var sal float32
	var isPass bool
	fmt.Println("请输入姓名 ")
	//当程序执行到 fmt.Scanln(&name),程序会停止在这里,等待用户输入,并回车 
	fmt.Scanln(&name)
	fmt.Println("请输入年龄 ")
	fmt.Scanln(&age)
	fmt.Println("请输入薪水 ")
	fmt.Scanln(&sal)

	fmt.Println("请输入是否通过考试 ")
	fmt.Scanln(&isPass)

	fmt.Printf("名字是 %v \n 年龄是 %v \n 薪水是 %v \n 是否通过考试 %v \n", name, age, sal, isPass)
}
package main
import (
	"fmt" 
)
func main() {
	//要求:可以从控制台接收用户信息,【姓名,年龄,薪水, 是否通过考试 】。
	//方式2:fmt.Scanf,可以按指定的格式输入
	fmt.Println("请输入你的姓名,年龄,薪水, 是否通过考试, 使用空格隔开")
	fmt.Scanf("%s %d %f %t", &name, &age, &sal, &isPass)
	fmt.Printf("名字是 %v \n年龄是 %v \n 薪水是 %v \n 是否通过考试 %v \n", name, age, sal, isPass)

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值