本文最后更新于202 天前,其中的信息可能已经过时,如有错误请发送邮件到big_fw@foxmail.com
运算符
运算符用于在程序运行时执行数学或逻辑运算。
Go 语言内置的运算符有:
算术运算符
运算符 |
描述 |
+ |
相加 |
- |
相减 |
* |
相乘 |
/ |
相除 |
% |
求余 |
++ |
自增 |
-- |
自减 |
package main
import (
"fmt"
)
func main() {
var a int = 6
var b int = 5
var c int
c = a + b
fmt.Println("a+b的值为 ", c )
c = a - b
fmt.Println("a-b的值为 ", c )
c = a * b
fmt.Println("a*b的值为 ", c )
c = a / b
fmt.Println("a/b的值为 ", c )
c = a % b
fmt.Println("a%b的值为 ", c )
a++
fmt.Println("a++的值为 ", a )
b--
fmt.Println("b--的值为 ", b )
}
关系运算符
运算符 |
描述 |
== |
检查两个值是否相等,如果相等返回 True 否则返回 False。 |
!= |
检查两个值是否不相等,如果不相等返回 True 否则返回 False。 |
> |
检查左边值是否大于右边值,如果是返回 True 否则返回 False。 |
< |
检查左边值是否小于右边值,如果是返回 True 否则返回 False。 |
>= |
检查左边值是否大于等于右边值,如果是返回 True 否则返回 False。 |
<= |
检查左边值是否小于等于右边值,如果是返回 True 否则返回 False。 |
package main
import "fmt"
func main() {
var a int = 6
var b int = 5
if a == b{
fmt.Println("a等于b")
} else {
fmt.Println("a不等于b")
}
if a < b{
fmt.Println("a小于b")
} else {
fmt.Println("a不小于b")
}
if a > b{
fmt.Println("a大于b")
} else {
fmt.Println("a不大于b" )
}
if a <= b{
fmt.Println("a小于等于b" )
}
if a >= b{
fmt.Println("a大于等于b" )
}
}
逻辑运算符
运算符 |
描述 |
&& |
逻辑 AND 运算符。 如果两边的操作数都是 True,则条件 True,否则为 False。 |
|| |
逻辑 OR 运算符。 如果两边的操作数有一个 True,则条件 True,否则为 False。 |
! |
逻辑 NOT 运算符。 如果条件为 True,则逻辑 NOT 条件 False,否则为 True。 |
package main
import(
"fmt"
)
func main() {
fmt.Println(false&&false)
fmt.Println(true&&false)
fmt.Println(false&&true)
fmt.Println(true&&true)
fmt.Println(false||false)
fmt.Println(true||false)
fmt.Println(false||true)
fmt.Println(true||true)
fmt.Println(!false)
fmt.Println(!true)
}
位运算符
位运算符对整数在内存中的二进制位进行操作。
赋值运算符
运算符 |
描述 |
= |
简单的赋值运算符,将一个表达式的值赋给一个左值 |
+= |
相加后再赋值 |
-= |
相减后再赋值 |
*= |
相乘后再赋值 |
/= |
相除后再赋值 |
%= |
求余后再赋值 |
package main
import "fmt"
func main() {
var a int = 5
var c int
c = a
fmt.Printf(" = 运算符,c 值为 = %d\n", c )
c += a
fmt.Printf(" += 运算符,c 值为 = %d\n", c )
c -= a
fmt.Printf(" -= 运算符,c 值为 = %d\n", c )
c *= a
fmt.Printf(" *= 运算符,c 值为 = %d\n", c )
c /= a
fmt.Printf(" /= 运算符,c 值为 = %d\n", c )
}
其他运算符
package main
import(
"fmt"
)
func main(){
var age int = 20
var ptr *int = &age//定义一个指向整型的指针变量ptr
fmt.Printf("ptr的值是:%v\n*ptr的值是:%v",ptr,*ptr)//*ptr取出存在该地址中的值
}