go语言是一种受c语言和python语言启发而设计出来的编程语言,它在编程范式和语法上和其他很多编程语言都有所不同。在go语言中,运算也有一些特别的规则和特性,本文将对这些内容进行详细介绍。
一、Go语言的运算符
Go语言中的运算符和其他语言类似,主要包括:
- 算术运算符:+、-、*、/、%;
- 关系运算符:==、!=、>、=、
- 逻辑运算符:&&、||、!;
- 位运算符:&、|、^、>;
- 赋值运算符:=、+=、-=、*=、/=、%=、&=、|=、^=、>=;
- 其他运算符:&、*、
二、数值运算
- 整数的运算
Go语言支持各种类型的整数运算,包括添加(+)、减去(-)、乘以(*)、除以(/)和求余数(%)等。可以使用下面的代码来对两个整数进行求和:
立即学习“go语言免费学习笔记(深入)”;
package main
import "fmt"
func main() {
var a int = 21
var b int = 10
var c int
c = a + b
fmt.Printf("a + b 的值为: %d\n", c )
c = a - b
fmt.Printf("a - b 的值为:%d\n", c )
c = a * b
fmt.Printf("a * b 的值为:%d\n", c )
c = a / b
fmt.Printf("a / b 的值为:%d\n", c )
c = a % b
fmt.Printf("a %% b 的值为:%d\n", c )
}- 浮点数的运算
Go语言也支持浮点运算,包括加、减、乘、除和求余数等。我们可以使用下面的代码来验证:
package main
import "fmt"
func main() {
var a float32 = 10.0
var b float32 = 3.0
fmt.Printf("a + b = %f\n",a+b)
fmt.Printf("a - b = %f\n",a-b)
fmt.Printf("a * b = %f\n",a*b)
fmt.Printf("a / b = %f\n",a/b)
fmt.Printf("a %% b = %f\n",a%b)
}三、逻辑运算
Go语言中的逻辑运算符主要包括与(&&)、或(||)和非(!)。下面是一个简单的例子:
package main
import "fmt"
func main() {
var a bool = true
var b bool = false
if (a && b) {
fmt.Println("a && b 是 true")
} else {
fmt.Println("a && b 是 false")
}
if (a || b) {
fmt.Println("a || b 是 true")
} else {
fmt.Println("a || b 是 false")
}
if (!a) {
fmt.Println("!a 是 true")
} else {
fmt.Println("!a 是 false")
}
}四、其他运算
Go语言中还有一些其他运算符,如下所示:
- 取指针地址运算符:&
package main
import "fmt"
func main() {
a := 10
fmt.Printf("a 变量的地址是:%x\n", &a )
}- 取指针所指对象的值运算符:*
package main
import "fmt"
func main() {
var a int = 10
var ip *int
ip = &a
fmt.Printf("变量a= %d\n", a)
fmt.Printf("指针变量 *ip= %d\n", *ip)
}- 通道的发送/接收操作符:
package main
import "fmt"
func main() {
var ch chan int
ch = make(chan int)
go func() {
ch <- 2
}()
var value int
value = <-ch
fmt.Println(value)
}总结
本文介绍了Go语言中的运算规则和特性,涉及整数、浮点数、逻辑运算符、位运算符、赋值运算符和其他运算符等方面。理解这些内容有助于我们更好地理解和记忆Go语言的语法和使用方式。










