Go 语言 运算符与表达式基础讲解

Go阿木 发布于 25 天前 5 次阅读


Go 语言运算符与表达式基础讲解

Go 语言,也被称为 Golang,是由 Google 开发的一种静态强类型、编译型、并发型编程语言。它以其简洁的语法、高效的性能和内置的并发支持而受到开发者的喜爱。在 Go 语言中,运算符和表达式是构成程序逻辑的基础。本文将围绕 Go 语言的运算符与表达式进行详细讲解。

运算符概述

运算符是用于执行特定运算的符号。在 Go 语言中,运算符可以分为以下几类:

- 算术运算符

- 逻辑运算符

- 关系运算符

- 位运算符

- 赋值运算符

- 其他运算符(如类型转换、空值判断等)

下面将分别介绍这些运算符。

算术运算符

算术运算符用于执行基本的算术运算,如加、减、乘、除等。以下是一些常见的算术运算符:

- `+`:加法

- `-`:减法

- ``:乘法

- `/`:除法

- `%`:取模运算

go

package main

import "fmt"

func main() {


a := 10


b := 5

sum := a + b


difference := a - b


product := a b


quotient := a / b


remainder := a % b

fmt.Println("Sum:", sum)


fmt.Println("Difference:", difference)


fmt.Println("Product:", product)


fmt.Println("Quotient:", quotient)


fmt.Println("Remainder:", remainder)


}


逻辑运算符

逻辑运算符用于执行布尔运算,如与、或、非等。以下是一些常见的逻辑运算符:

- `&&`:逻辑与

- `||`:逻辑或

- `!`:逻辑非

go

package main

import "fmt"

func main() {


a := true


b := false

and := a && b


or := a || b


not := !a

fmt.Println("And:", and)


fmt.Println("Or:", or)


fmt.Println("Not:", not)


}


关系运算符

关系运算符用于比较两个值,并返回一个布尔值。以下是一些常见的关系运算符:

- `==`:等于

- `!=`:不等于

- `<`:小于

- `>`:大于

- `<=`:小于等于

- `>=`:大于等于

go

package main

import "fmt"

func main() {


a := 10


b := 5

equal := a == b


notEqual := a != b


lessThan := a < b


greaterThan := a > b


lessOrEqual := a <= b


greaterOrEqual := a >= b

fmt.Println("Equal:", equal)


fmt.Println("Not Equal:", notEqual)


fmt.Println("Less Than:", lessThan)


fmt.Println("Greater Than:", greaterThan)


fmt.Println("Less Or Equal:", lessOrEqual)


fmt.Println("Greater Or Equal:", greaterOrEqual)


}


位运算符

位运算符用于操作整数的二进制位。以下是一些常见的位运算符:

- `&`:按位与

- `|`:按位或

- `^`:按位异或

- `<<`:左移

- `>>`:右移

go

package main

import "fmt"

func main() {


a := 5 // 二进制:101


b := 3 // 二进制:011

bitwiseAnd := a & b


bitwiseOr := a | b


bitwiseXor := a ^ b


leftShift := a << 1


rightShift := a >> 1

fmt.Println("Bitwise And:", bitwiseAnd)


fmt.Println("Bitwise Or:", bitwiseOr)


fmt.Println("Bitwise Xor:", bitwiseXor)


fmt.Println("Left Shift:", leftShift)


fmt.Println("Right Shift:", rightShift)


}


赋值运算符

赋值运算符用于将一个值赋给变量。以下是一些常见的赋值运算符:

- `=`:简单赋值

- `+=`:加后赋值

- `-=`:减后赋值

- `=`:乘后赋值

- `/=`:除后赋值

- `%=`:取模后赋值

- `<<=`:左移后赋值

- `>>=`:右移后赋值

- `&=`:按位与后赋值

- `|=`:按位或后赋值

- `^=`:按位异或后赋值

go

package main

import "fmt"

func main() {


a := 10


b := 5

a += b // 等同于 a = a + b


b -= a // 等同于 b = b - a


a = b // 等同于 a = a b


b /= a // 等同于 b = b / a


a %= b // 等同于 a = a % b

fmt.Println("A:", a)


fmt.Println("B:", b)


}


表达式概述

表达式是 Go 语言中由运算符和操作数组成的代码片段,它可以产生一个值。以下是一些常见的表达式类型:

- 算术表达式

- 逻辑表达式

- 关系表达式

- 位运算表达式

- 赋值表达式

- 类型转换表达式

- 空值判断表达式

总结

本文对 Go 语言中的运算符和表达式进行了详细的讲解。通过理解这些基础概念,开发者可以更好地编写高效的 Go 语言程序。在实际编程中,合理运用运算符和表达式可以简化代码,提高代码的可读性和可维护性。

扩展阅读

- [Go 语言官方文档 - 运算符](https://golang.org/ref/specOperators)

- [Go 语言官方文档 - 表达式](https://golang.org/ref/specExpressions)

通过阅读官方文档,可以更深入地了解 Go 语言中运算符和表达式的细节。