Merge commit 'd5a9807cb52a9106ab0eb0e53081a204d709209b' into _ja

This commit is contained in:
Shin Kojima
2013-12-25 00:40:43 +09:00
3 changed files with 5 additions and 5 deletions

View File

@@ -64,7 +64,7 @@ beedb的New函数实际上应该有两个参数第一个参数标准接口的
>注意一点beedb针对驼峰命名会自动帮你转化成下划线字段例如你定义了Struct名字为`UserInfo`,那么转化成底层实现的时候是`user_info`,字段命名也遵循该规则。
## 插入数据
下面的代码演示了如何插入一条记录可以看到我们操作的是strcut对象而不是原生的sql语句最后通过调用Save接口将数据保存到数据库。
下面的代码演示了如何插入一条记录可以看到我们操作的是struct对象而不是原生的sql语句最后通过调用Save接口将数据保存到数据库。
var saveone Userinfo
saveone.Username = "Test Add User"

View File

@@ -104,7 +104,7 @@ MongoDB是一个高性能开源无模式的文档型数据库是一个
fmt.Println("Phone:", result.Phone)
}
我们可以看出来mgo的操作方式和beedb的操作方式几乎类似都是基于strcut的操作方式这个就是Go Style。
我们可以看出来mgo的操作方式和beedb的操作方式几乎类似都是基于struct的操作方式这个就是Go Style。

View File

@@ -87,7 +87,7 @@ XML本质上是一种树形的数据格式而我们可以定义与之匹配
}
上面的例子中将xml文件解析成对应的strcut对象是通过`xml.Unmarshal`来完成的这个过程是如何实现的可以看到我们的struct定义后面多了一些类似于`xml:"serverName"`这样的内容,这个是strcut的一个特性它们被称为 strcut tag它们是用来辅助反射的。我们来看一下`Unmarshal`的定义:
上面的例子中将xml文件解析成对应的struct对象是通过`xml.Unmarshal`来完成的这个过程是如何实现的可以看到我们的struct定义后面多了一些类似于`xml:"serverName"`这样的内容,这个是struct的一个特性它们被称为 struct tag它们是用来辅助反射的。我们来看一下`Unmarshal`的定义:
func Unmarshal(data []byte, v interface{}) error
@@ -188,8 +188,8 @@ Go语言的反射机制可以利用这些tag信息来将来自XML文件中的
- 如果v是structXMLName的tag中定义的名称
- 类型为xml.Name的名叫XMLName的字段的值
- 通过strcut中字段的tag来获取
- 通过strcut的字段名用来获取
- 通过struct中字段的tag来获取
- 通过struct的字段名用来获取
- marshall的类型名称
我们应如何设置struct 中字段的tag信息以控制最终xml文件的生成呢