修复strcut错别字,针对web开发不同语言开发者的类比

This commit is contained in:
xiemengjun
2012-09-04 23:13:25 +08:00
parent 97d9ec5cc6
commit 219a476db1
2 changed files with 20 additions and 11 deletions

20
2.4.md
View File

@@ -6,11 +6,11 @@ Go语言中也和C或者其他语言一样我们可以声明新的类型
name string
age int
}
看到了吗申明一个strcut如此简单上面的类型包含有两个字段
看到了吗申明一个struct如此简单上面的类型包含有两个字段
- 一个string类型的字段name用来保存用户名称这个属性
- 一个int类型的字段age,用来保存用户年龄这个属性
如何使用strcut呢请看下面的代码
如何使用struct呢请看下面的代码
type person struct {
name string
@@ -32,7 +32,7 @@ Go语言中也和C或者其他语言一样我们可以声明新的类型
P := person{age:24, name:"Tom"}
下面我们看一个完整的使用strcut的例子
下面我们看一个完整的使用struct的例子
package main
import "fmt"
@@ -44,7 +44,7 @@ Go语言中也和C或者其他语言一样我们可以声明新的类型
}
// 比较两个人的年龄,返回年龄大的那个人,并且返回年龄差
// strcut也是传值的
// struct也是传值的
func Older(p1, p2 person) (person, int) {
if p1.age>p2.age { //比较p1和p2这两个人的年龄
return p1, p1.age-p2.age
@@ -61,7 +61,7 @@ Go语言中也和C或者其他语言一样我们可以声明新的类型
//两个字段都写清楚的初始化
bob := person{age:25, name:"Bob"}
//按照strcut定义顺序初始化值
//按照struct定义顺序初始化值
paul := person{"Paul", 43}
tb_Older, tb_diff := Older(tom, bob)
@@ -78,10 +78,10 @@ Go语言中也和C或者其他语言一样我们可以声明新的类型
bob.name, paul.name, bp_Older.name, bp_diff)
}
###strcut的匿名字段
我们上面介绍了如何定义一个strcut定义的时候是字段名与其类型一一对应实际上Go支持只提供类型而不写字段名的方式也就是匿名字段也称为嵌入字段。
###struct的匿名字段
我们上面介绍了如何定义一个struct定义的时候是字段名与其类型一一对应实际上Go支持只提供类型而不写字段名的方式也就是匿名字段也称为嵌入字段。
当匿名字段是一个strcut的时候那么这个strcut所拥有的全部字段都被隐式地引入了当前定义的这个strcut。
当匿名字段是一个struct的时候那么这个struct所拥有的全部字段都被隐式地引入了当前定义的这个struct。
让我们来看一个例子,让上面说的这些更具体化
@@ -127,7 +127,7 @@ Go语言中也和C或者其他语言一样我们可以声明新的类型
mark.Human = Human{"Marcus", 55, 220}
mark.Human.age -= 1
通过匿名访问和修改字段相当的有用但是不仅仅是strcut字段哦所有的内置类型和自定义类型都是可以作为匿名字段的。请看下面的例子
通过匿名访问和修改字段相当的有用但是不仅仅是struct字段哦所有的内置类型和自定义类型都是可以作为匿名字段的。请看下面的例子
package main
import "fmt"
@@ -166,7 +166,7 @@ Go语言中也和C或者其他语言一样我们可以声明新的类型
fmt.Println("Her preferred number is", jane.int)
}
从上面例子我们看出来strcut不仅仅能够将strcut作为匿名字段、自定义类型、内置类型都可以作为匿名字段而且可以在相应的字段上面进行函数操作(如例子中的append)。
从上面例子我们看出来struct不仅仅能够将struct作为匿名字段、自定义类型、内置类型都可以作为匿名字段而且可以在相应的字段上面进行函数操作(如例子中的append)。
这里有一个问题如果human里面有一个字段叫做phone而student也有一个字段叫做phone那么该怎么办呢