`
holin
  • 浏览: 17899 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

go匿名字段不能序列化的问题

阅读更多

1.

type Base struct {

Id        int `PK`

CreatedAt time.Time

UpdatedAt time.Time

SyncedAt  time.Time

}

 

2.

type Note struct {

Base

Title string

Body  string

}

 

3.

var note models.Note

note.Title = "First term"

note.Body = "body goes here!"

note.CreatedAt = time.Now()

 

fmt.Println(note)

 

return c.RenderJson(note)

 

结果:

{

  "Title": "First term",

  "Body": "body goes here!"

}

 

匿名字段 CreatedAt 不能 序列化

 

解决办法,装go1.1后,就可以如预期般解析了。

 

{

  "Id": 0,

  "CreatedAt": "2013-04-06T18:34:30.048450794+08:00",

  "UpdatedAt": "0001-01-01T00:00:00Z",

  "SyncedAt": "0001-01-01T00:00:00Z",

  "Title": "First term",

  "Body": "body goes here!"

}

 

分享到:
评论

相关推荐

    基于Go语言的学习笔记(附代码)

    2. 匿名字段:结构体中可以包含其他类型的实例,无需指定类型名。 3. 方法集:一个类型的所有方法构成其方法集。 4. 表达式:方法调用可以作为表达式的一部分。 六、接口 1. 接口定义:一组方法签名的集合,定义了...

    Go学习笔记

    字段标签用于为结构体字段提供额外的元数据,如用于序列化和反序列化的JSON字段。 #### 3.6 方法集 方法集是与特定类型关联的一组方法,通过方法集可以实现面向对象的编程风格。 #### 3.7 反射 反射允许程序在运行...

    Go语言学习

    - **匿名字段**:在Go语言中,结构体可以包含匿名字段,这使得结构体可以嵌入其他结构体,实现继承的效果。 #### 七、并发 - **goroutine**:轻量级线程,可以在同一个Go进程中并发执行。 - **channel**:...

    Golang2-new.docx

    - 结构体:组合不同类型数据的复合类型,可以有嵌套结构体和匿名字段。 - 指针类型:指向变量内存地址的类型,允许间接访问和修改变量。 - 函数:可以作为参数传递和返回的高阶函数,支持多返回值和命名返回值。 ...

    Go 学习笔记第四版

    - **匿名字段**:在struct中可以使用匿名字段,通常与嵌入式类型一起使用。 - **方法集**:描述了某个类型拥有的所有方法。 - **表达式**:涉及到如何在表达式中使用方法。 6. **接口**: - **接口定义**:通过...

    Go基础语法宝典.pdf

    结构体(struct)是自定义类型的重要手段,可以包含匿名字段,并且可以定义方法。方法通过receiver指定接收者,可以实现面向对象编程的特性。接口(interface)定义了一组方法签名,实现了接口的类型必须提供相应的...

    Go 学习笔记

    - **定义**: 字段标签用于提供额外的信息,如JSON序列化时使用的键名。 - **使用**: `type User struct { Name string `json:"name"`; Age int `json:"age"` }`。 #### 五、接口 **5.1 接口定义** - **定义**: ...

    go学习笔记

    - **匿名字段**: 省略字段名称的结构体字段。 - **方法集**: 结构体类型的方法集合。 - **表达式**: Go语言表达式相关的内容。 #### 第6章 接口 - **接口定义**: 接口是一组方法签名的集合。 - **执行机制**: 接口...

    go笔记第三版

    #### 5.2 匿名字段 - **定义**: 结构体可以包含一个类型而无需为其指定名称。 - **使用**: 当需要将一个类型的方法暴露给另一个类型时非常有用。 #### 5.3 方法集 - **关联**: 一组方法可以关联到一个类型上。 - **...

    Go学习笔记第三版

    - **不可变性**: Go 语言中的字符串一旦创建后就不能更改。 - **操作**: 提供了丰富的内置函数和方法来操作字符串,如 `len`, `fmt.Sprintf` 等。 #### 1.7 指针 - **定义**: 使用 `*T` 来定义指向类型 `T` 的指针...

Global site tag (gtag.js) - Google Analytics