Golang 【第四篇】运算符-键盘输入语句
运算符与键盘输入语句
1 算数运算符一览表

运算符
package main import ( "fmt" ) func main() { //重点讲解 /、% //说明,如果运算的数都是整数,那么除后,去掉小数部分,保留整数部分 fmt.Println(10 / 4) var n1 float32 = 10 / 4 // fmt.Println(n1) //如果我们希望保留小数部分,则需要有浮点数参与运算 var n2 float32 = 10.0 / 4 fmt.Println(n2) // 演示 % 的使用 // 看一个公式 a % b = a - a / b * b // fmt.Println("10%3=", 10 % 3) // =1 // fmt.Println("-10%3=", -10 % 3) // = -10 - (-10) / 3 * 3 = -10 - (-9) = -1 // fmt.Println("10%-3=", 10 % -3) // =1 // fmt.Println("-10%-3=", -10 % -3) // =-1 // ++ 和 --的使用 var i int = 10 i++ // 等价 i = i + 1 fmt.Println("i=", i) // 11 i-- // 等价 i = i - 1 fmt.Println("i=", i) // 10 if i > 0 { fmt.Println("ok") } }
package main import ( _ "fmt" ) func main() { //在golang中,++ 和 -- 只能独立使用. // var i int = 8 // var a int // a = i++ //错误,i++只能独立使用 // a = i-- //错误, i--只能独立使用 // if i++ > 0 { //错误 // fmt.Println("ok") // } // var i int = 1 // i++ // ++i // 错误,在golang没有 前++ // i-- // --i // 错误,在golang没有 前-- // fmt.Println("i=", i) }
package main import ( "fmt" ) func main() { //假如还有97天放假,问:xx个星期零xx天 var days int = 97 var week int = days / 7 var day int = days % 7 fmt.Printf("%d个星期零%d天\n", week, day) //定义一个变量保存华氏温度,华氏温度转换摄氏温度的公式为: //5/9*(华氏温度-100),请求出华氏温度对应的摄氏温度 var huashi float32 = 134.2 var sheshi float32 = 5.0 / 9 * (huashi - 100) fmt.Printf("%v 对应的摄氏温度=%v \n", huashi, sheshi) }
2 关系运算符
package main import ( "fmt" ) func main() { //演示关系运算符的使用 var n1 int = 9 var n2 int = 8 fmt.Println(n1 == n2) //false fmt.Println(n1 != n2) //true fmt.Println(n1 > n2) //true fmt.Println(n1 >= n2) //true fmt.Println(n1 < n2) //flase fmt.Println(n1 <= n2) //flase flag := n1 > n2 fmt.Println("flag=", flag) }
3 逻辑运算符

package main import ( "fmt" ) //声明一个函数(测试) func test() bool { fmt.Println("test....") return true } func main() { var i int = 10 //短路与 //说明 因为 i < 9 为 false ,因此后面的 test() 就不执行 // if i < 9 && test() { // fmt.Println("ok...") // } if i > 9 || test() { fmt.Println("hello...") } /* //演示逻辑运算符的使用 && var age int = 40 if age > 30 && age < 50 { fmt.Println("ok1") } if age > 30 && age < 40 { fmt.Println("ok2") } //演示逻辑运算符的使用 || if age > 30 || age < 50 { fmt.Println("ok3") } if age > 30 || age < 40 { fmt.Println("ok4") } //演示逻辑运算符的使用 ! if age > 30 { fmt.Println("ok5") } if !(age > 30) { fmt.Println("ok6") } */ }
赋值运算符

package main import ( "fmt" ) func test() int { return 90 } func main() { //赋值运算符的使用演示 // var i int // i = 10 //基本赋值 //有两个变量,a和b,要求将其进行交换,最终打印结果 // a = 9 , b = 2 ==> a = 2 b = 9 a := 9 b := 2 fmt.Printf("交换前的情况是 a = %v , b=%v \n", a, b) //定义一个临时变量 t := a a = b // b = t // fmt.Printf("交换后的情况是 a = %v , b=%v \n", a, b) //复合赋值的操作 a += 17 // 等价 a = a + 17 fmt.Println("a=", a) var c int c = a + 3 // 赋值运算的执行顺序是从右向左 fmt.Println(c) //2)赋值运算符的左边 只能是变量,右边 可以是变量、表达式、常量值 // 表达式:任何有值都可以看做表达式 var d int d = a // d = 8 + 2 * 8 // =的右边是表达式 d = test() + 90 // =的右边是表达式 //d = 890 // 890常量 fmt.Println(d) }
4 其他运算符

package main import ( "fmt" ) func main() { //演示一把 & 和 *的使用 a := 100 fmt.Println("a 的地址=", &a) var ptr *int = &a fmt.Println("ptr 指向的值是=", *ptr) 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 }
5 键盘输入语句与三元运算
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) //方式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) }
package main import ( "fmt" ) func main() { //求两个数的最大值 var n1 int = 10 var n2 int = 40 var max int if n1 > n2 { max = n1 } else { max = n2 } fmt.Println("max=", max) //求出三个数的最大值思路:先求出两个数的最大值, //然后让这个最大值和第三数比较,在取出最大值 var n3 = 45 if n3 > max { max = n3 } fmt.Println("三个数中最大值是=", max) }
6 进制
package main import ( "fmt" ) func main() { var i int = 5 //二进制输出 fmt.Printf("%b \n", i) //八进制:0-7 ,满8进1. 以数字0开头表示 var j int = 011 // 011=> 9 fmt.Println("j=", j) //0-9及A-F,满16进1. 以0x或0X开头表示 var k int = 0x11 // 0x11=> 16 + 1 = 17 fmt.Println("k=", k) }
package main import ( "fmt" ) func main() { //位运算的演示 fmt.Println(2&3) // 2 fmt.Println(2|3) // 3 fmt.Println(2^3) // 3 fmt.Println(-2^2) //-4 a := 1 >> 2 //0 c := 1 << 2 //4 fmt.Println("a=", a, "c=", c) }
作者:华王
博客:https://www.cnblogs.com/huahuawang/
浙公网安备 33010602011771号