Golang--运算符
1、算术运算符
算术运算符:+ ,-,*,/,%,++,--,对数值类型的变量进行运算
package main
import (
"fmt"
)
func main() {
//算术运算符
//+ - * / % ++ --
//+号在golang中表示正号,可以进行相加,也可以表示字符串拼接
var num1 int = +10 //正号
fmt.Println(num1)
var num2 int = 10 + 9 //相加
fmt.Println(num2)
fmt.Println("hello" + "world") //字符串拼接
//-号在golang中表示负号,只能进行相减
var num3 int = -10 //负号
fmt.Println(num3)
var num4 int = 10 - 9 //相减
fmt.Println(num4)
//*号在golang中表示乘法
var num5 int = 10 * 9 //乘法
fmt.Println(num5)
// /号在golang中表示除法
var num6 int = 10 / 9 //除法
fmt.Println(num6)
// %号在golang中表示取余
var num7 int = 10 % 9 //取余
fmt.Println(num7)
//自增自减
var num8 int = 10
num8++ //自增
fmt.Println(num8)
num8-- //自减
fmt.Println(num8)
}
2、赋值运算符
赋值运算符:=,+=,-=,*=,/=,%=,赋值运算符就是将某个运算后的值,赋给指定的变量
package main
import (
"fmt"
)
func main() {
//赋值运算符
//=,+=,-=,*=,/=,%=
var num1 int = 10
num1 += 10
fmt.Println(num1)
num1 -= 10
fmt.Println(num1)
num1 *= 10
fmt.Println(num1)
num1 /= 10
fmt.Println(num1)
num1 %= 10
fmt.Println(num1)
}
3、关系运算符
关系运算符:==,!=,>,<,> =,<=,关系运算符的结果都是bool型,也就是要么是true,要么是false
package main
import (
"fmt"
)
func main() {
//关系运算符
//==,!=, >, >=, <, <=
fmt.Println(100 == 100)
fmt.Println(100!= 100)
fmt.Println(100 > 100)
fmt.Println(100 >= 100)
fmt.Println(100 < 100)
fmt.Println(100 <= 100)
}
4、逻辑运算符
逻辑运算符:&&(逻辑与/短路与),||(逻辑或/短路或),!(逻辑非)
package main
import (
"fmt"
)
func main() {
//逻辑运算符
// && 与,|| 或,!非
fmt.Println(true && true) // true
fmt.Println(true && false) // false
fmt.Println(false && true) // false
fmt.Println(false && false) // false
fmt.Println(true || true) // true
fmt.Println(true || false) // true
fmt.Println(false || true) // true
fmt.Println(false || false) // false
fmt.Println(!true) // false
fmt.Println(!false) // true
}
5、位运算符
package main
import (
"fmt"
)
func main() {
//位运算符
//& 按位与运算符, ^ 按位异或运算符, | 按位或运算符
//<< 左移运算符, >> 右移运算符
//& 按位与运算符
fmt.Println(9 & 1) // 1
//^ 按位异或运算符
fmt.Println(9 ^ 1) // 10
//| 按位或运算符
fmt.Println(9 | 1) // 9
//<< 左移运算符
fmt.Println(9 << 1) // 18
//>> 右移运算符
fmt.Println(9 >> 1) // 4
}
6、其他运算符
& :返回变量的存储地址
* :取指针变量对应的数值
package main
import (
"fmt"
)
func main() {
//其他运算符:& 取地址 * 根据地址取值
var a int = 10
var pa *int = &a
fmt.Println(pa) // 0xc00001a058
fmt.Println(*pa) // 10
*a = 90
fmt.Println(a) // 90
fmt.Println(*pa) // 90
}
7、运算符优先级
提高优先级,可以加()
8、获取用户终端输入
如果需要更灵活的输入处理(例如读取整行,处理特殊字符,读取空格等),可以使用 bufio
包。
package main
import (
"bufio"
"fmt"
"os"
)
func main() {
reader := bufio.NewReader(os.Stdin)
fmt.Println("Enter a line of text:")
input, _ := reader.ReadString('\n')
fmt.Printf("You entered: %s", input)
}
在这个例子中,程序使用 bufio.NewReader
创建一个读取器,然后使用 ReadString
方法读取直到换行符的所有内容。
原文地址:https://blog.csdn.net/cookies_s_/article/details/143457726
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!