auto commit

This commit is contained in:
songleo
2016-03-15 12:34:44 +08:00
parent f91237026e
commit de3bc9bfab
3 changed files with 6 additions and 6 deletions

View File

@@ -2,7 +2,7 @@
下面的例子中main.go 使用了一个结构体,它来自 struct_pack 下的包 structPack。 下面的例子中main.go 使用了一个结构体,它来自 struct_pack 下的包 structPack。
示例 10.5 structPack.go 示例 10.5 [structPack.go](examples/chapter_10/struct_pack/structPack.go)
```go ```go
package structPack package structPack

View File

@@ -1,8 +1,8 @@
# 10.4 带标签的结构体 # 10.4 带标签的结构体
结构体中的字段除了有名字和类型外还可以有一个可选的标签tag它是一个附属于字段的字符串可以是文档或其他的重要标记。标签的内容不可以在一般的编程中使用只有包 `reflect` 能获取它。我们将在下一章(第 11.10 节)中深入的探讨 `reflect`包,它可以在运行时自省类型、属性和方法,比如:在一个变量上调用 `reflect.TypeOf()` 可以获取变量的正确类型,如果变量是一个结构体类型,就可以通过 Field 来索引结构体的字段,然后就可以使用 Tag 属性。 结构体中的字段除了有名字和类型外还可以有一个可选的标签tag它是一个附属于字段的字符串可以是文档或其他的重要标记。标签的内容不可以在一般的编程中使用只有包 `reflect` 能获取它。我们将在下一章(第 [11.10 节](11.10.md))中深入的探讨 `reflect`包,它可以在运行时自省类型、属性和方法,比如:在一个变量上调用 `reflect.TypeOf()` 可以获取变量的正确类型,如果变量是一个结构体类型,就可以通过 Field 来索引结构体的字段,然后就可以使用 Tag 属性。
示例 10.7 struct_tag.go 示例 10.7 [struct_tag.go](examples/chapter_10/struct_tag.go)
```go ```go
package main package main

View File

@@ -8,7 +8,7 @@
考虑如下的程序: 考虑如下的程序:
示例 10.8 structs_anonymous_fields.go 示例 10.8 [structs_anonymous_fields.go](examples/chapter_10/structs_anonymous_fields.go)
```go ```go
package main package main
@@ -64,7 +64,7 @@ func main() {
另外一个例子: 另外一个例子:
示例 10.9 embedd_struct.go 示例 10.9 [embedd_struct.go](examples/chapter_10/embedd_struct.go)
```go ```go
package main package main
@@ -100,7 +100,7 @@ func main() {
当两个字段拥有相同的名字(可能是继承来的名字)时该怎么办呢? 当两个字段拥有相同的名字(可能是继承来的名字)时该怎么办呢?
1. 外层名字会覆盖内层名字(但是两者的内存空间都保留),这提供了一种重载字段或方法的方式 1. 外层名字会覆盖内层名字(但是两者的内存空间都保留),这提供了一种重载字段或方法的方式
2. 如果相同的名字在同一级别出现了两次,如果这个名字被程序使用了,将会引发一个错误(不使用没关系)。没有办法来解决这种问题引起的二义性,必须由程序员自己修正。 2. 如果相同的名字在同一级别出现了两次,如果这个名字被程序使用了,将会引发一个错误(不使用没关系)。没有办法来解决这种问题引起的二义性,必须由程序员自己修正。
例子: 例子: