1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
|
package main
import "fmt"
func main() {
// 简单赋值
var a int
a = 10
fmt.Printf("a = %d\n", a)
// 多重赋值
x, y := 1, 2
fmt.Printf("x = %d, y = %d\n", x, y)
// 交换变量
x, y = y, x
fmt.Printf("交换后: x = %d, y = %d\n", x, y)
// 函数返回多个值的赋值
quotient, remainder := divmod(17, 5)
fmt.Printf("17 ÷ 5 = %d 余 %d\n", quotient, remainder)
// 忽略某些返回值
result, _ := divmod(20, 3)
fmt.Printf("20 ÷ 3 = %d\n", result)
// 复合赋值操作符
num := 100
fmt.Printf("初始值: %d\n", num)
num += 50 // 加法赋值
fmt.Printf("num += 50: %d\n", num)
num -= 30 // 减法赋值
fmt.Printf("num -= 30: %d\n", num)
num *= 2 // 乘法赋值
fmt.Printf("num *= 2: %d\n", num)
num /= 4 // 除法赋值
fmt.Printf("num /= 4: %d\n", num)
num %= 7 // 取模赋值
fmt.Printf("num %%= 7: %d\n", num)
// 位操作赋值
bits := 12 // 1100
fmt.Printf("初始位值: %d (%04b)\n", bits, bits)
bits &= 10 // 位与赋值 (1100 & 1010 = 1000)
fmt.Printf("bits &= 10: %d (%04b)\n", bits, bits)
bits |= 5 // 位或赋值 (1000 | 0101 = 1101)
fmt.Printf("bits |= 5: %d (%04b)\n", bits, bits)
bits ^= 3 // 位异或赋值 (1101 ^ 0011 = 1110)
fmt.Printf("bits ^= 3: %d (%04b)\n", bits, bits)
bits <<= 1 // 左移赋值 (1110 << 1 = 11100)
fmt.Printf("bits <<= 1: %d (%05b)\n", bits, bits)
bits >>= 2 // 右移赋值 (11100 >> 2 = 111)
fmt.Printf("bits >>= 2: %d (%03b)\n", bits, bits)
// 指针赋值
var ptr *int
value := 42
ptr = &value
fmt.Printf("指针指向的值: %d\n", *ptr)
*ptr = 100 // 通过指针修改值
fmt.Printf("修改后的值: %d\n", value)
}
func divmod(a, b int) (int, int) {
return a / b, a % b
}
|