mirror of
https://github.com/gopl-zh/gopl-zh.github.com.git
synced 2024-12-25 14:28:58 +00:00
ch4-04-2 done
This commit is contained in:
parent
aaf2c615fc
commit
44975014ea
@ -1,3 +1,25 @@
|
|||||||
### 4.4.2. 結構體比較
|
### 4.4.2. 結構體比較
|
||||||
|
|
||||||
TODO
|
如果结构体的全部成员都是可以比较的,那么结构体也是可以比较的,那样的话两个结构体将可以使用==或!=运算符进行比较。相等比较运算符==将比较两个结构体的每个成员,因此下面两个比较的表达式是等价的:
|
||||||
|
|
||||||
|
```Go
|
||||||
|
type Point struct{ X, Y int }
|
||||||
|
|
||||||
|
p := Point{1, 2}
|
||||||
|
q := Point{2, 1}
|
||||||
|
fmt.Println(p.X == q.X && p.Y == q.Y) // "false"
|
||||||
|
fmt.Println(p == q) // "false"
|
||||||
|
```
|
||||||
|
|
||||||
|
可比较的结构体类型和其他可比较的类型一样,可以用于map的key类型。
|
||||||
|
|
||||||
|
```Go
|
||||||
|
type address struct {
|
||||||
|
hostname string
|
||||||
|
port int
|
||||||
|
}
|
||||||
|
|
||||||
|
hits := make(map[address]int)
|
||||||
|
hits[address{"golang.org", 443}]++
|
||||||
|
```
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user