提交 c976dcaa 编写于 作者: 彭世瑜's avatar 彭世瑜

fix

上级 9fc930ca
Golang 运算符
# Golang 运算符
- 算术运算符
- 关系运算符
......@@ -8,13 +8,13 @@ Golang 运算符
## 算术运算符
运算符 | 描述
-| -
`+`| 加
`-`| 减
`*`| 乘
`/`| 除
`%`| 取余
| 运算符 | 描述 |
| ------ | ---- |
| `+` | 加 |
| `-` | 减 |
| `*` | 乘 |
| `/` | 除 |
| `%` | 取余 |
`++``--` 是单独的语句,并不是运算符
......@@ -59,19 +59,168 @@ func main() {
}
```
## 关系运算符
运算符 | 描述
-| -
`==`| 相等
`!=` | 不相等
`>` | 大于
`>=` | 大于等于
`<` | 小于
`<=` | 小于等于
| 运算符 | 描述 |
| ------ | -------- |
| `==` | 相等 |
| `!=` | 不相等 |
| `>` | 大于 |
| `>=` | 大于等于 |
| `<` | 小于 |
| `<=` | 小于等于 |
示例
```go
package main
import (
"fmt"
)
func main() {
a := 1
b := 2
fmt.Printf("%v\n", a == b)
// false
fmt.Printf("%v\n", a > b)
// false
fmt.Printf("%v\n", a >= b)
// false
fmt.Printf("%v\n", a < b)
// true
fmt.Printf("%v\n", a <= b)
// true
fmt.Printf("%v\n", a != b)
// true
}
```
## 逻辑运算符
| 运算符 | 描述 |
| ------ | ------ |
| `&&` | 逻辑与 |
| `\|\|` | 逻辑或 |
| `!` | 逻辑非 |
示例
```go
package main
import (
"fmt"
)
func main() {
a := true
b := false
fmt.Printf("%v\n", a && b)
// false
fmt.Printf("%v\n", a || b)
// true
fmt.Printf("%v\n", !a)
// false
}
```
## 位运算符
| 运算符 | 描述 |
| ------ | -------- |
| `&` | 按位与 |
| `\|` | 按位或 |
| `^` | 按位异或 |
| `<<` | 左移 |
| `>>` | 右移 |
示例
```go
package main
import (
"fmt"
)
func main() {
a := 4
b := 8
逻辑运算符
位运算符
赋值运算符
\ No newline at end of file
fmt.Printf("a: %b\n", a)
// a: 100
fmt.Printf("b: %b\n", b)
// b: 1000
r := a & b
fmt.Printf("r: %v\n", r)
// r: 0
r = a | b
fmt.Printf("r: %v\n", r)
// r: 12
r = a ^ b
fmt.Printf("r: %v\n", r)
// r: 12
r = a << 2
fmt.Printf("r: %v\n", r)
// r: 16
r = a >> 2
fmt.Printf("r: %v\n", r)
// r: 1
}
```
## 赋值运算符
| 运算符 | 描述 |
| ------ | ------------------------------ |
| `=` | 赋值(右边的值赋值给左边变量) |
| `+=` | 相加后赋值 |
| `-=` | 相减后赋值 |
| `*=` | 相乘后赋值 |
| `/=` | 相除后赋值 |
| `%=` | 取余后赋值 |
| `<<=` | 左移后赋值 |
| `>>=` | 右移后赋值 |
| `&=` | 按位与后赋值 |
| `\|=` | 按位或后赋值 |
| `^=` | 按位异或后赋值 |
示例
```go
package main
import (
"fmt"
)
func main() {
a := 1
a += 1 // 等价于 a = a + 1
fmt.Printf("a: %v\n", a)
// a: 2
}
```
# Golang 流程控制
- 顺序执行
- 选择执行
- 循环执行
## 顺序执行
示例
```go
package main
import (
"fmt"
)
func main() {
fmt.Println("第一步")
fmt.Println("第二步")
}
// 第一步
// 第二步
```
## 选择执行
### if...else
示例
```go
package main
import (
"fmt"
)
func main() {
a := 1
// 布尔表达式不需要括号
if a > 10 {
fmt.Println("a > 10")
} else {
fmt.Println("a <= 10")
}
// a <= 10
}
```
### switch...case
示例
```go
package main
import (
"fmt"
)
func main() {
a := 1
switch a {
case 0:
fmt.Println("a = 0")
case 1:
fmt.Println("a = 1")
default:
fmt.Println("default")
}
// a = 1
}
```
## 循环执行
### for
示例
```go
package main
import (
"fmt"
)
func main() {
for i := 0; i < 5; i++ {
fmt.Printf("%v ", i)
}
// 0 1 2 3 4
}
```
### for...range
示例
```go
package main
import "fmt"
func main() {
list := []int{1, 2, 3}
for index, value := range list {
fmt.Printf("%v=%v ", index, value)
}
// 0=1 1=2 2=3
}
```
### 关键字
- break
- continue
- goto
\ No newline at end of file
......@@ -26,11 +26,12 @@
[第九章 Golang 格式化输出](blog/golang/golang-format.md)
[第十章 Golang 运算符](blog/golang/golang-operator.md)
[第十章 Golang 运算符](/blog/golang/golang-operator.md)
[第十一章 Golang 流程控制](/blog/golang/golang-process.md)
https://www.bilibili.com/video/BV1ME411Y71o?p=27&spm_id_from=pageDriver&vd_source=efbb4dc944fa761b6e016ce2ca5933da
05:47
https://www.bilibili.com/video/BV1zR4y1t7Wj?p=17&spm_id_from=pageDriver&vd_source=efbb4dc944fa761b6e016ce2ca5933da
\ No newline at end of file
https://www.bilibili.com/video/BV1zR4y1t7Wj?p=19&spm_id_from=pageDriver&vd_source=efbb4dc944fa761b6e016ce2ca5933da
\ No newline at end of file
# Go语言
## 学习笔记
[笔记: Golang 核心编程](blog/golang/index.md)
[笔记: Golang 核心编程](/blog/golang/index.md)
## 学习资料
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册