go - 扩展一个结构以添加另一个结构
问题描述
我有一个结构:
type User struct {
Name string
Age int
}
另一个结构为:
type Info struct {
Address string
}
我需要扩展Info
结构以具有结构中的字段User
。
通过获取每个字段的标签和值,该Info
结构将传递给一个在结构上工作的函数。
我怎样才能达到同样的效果?因此,在传递给函数时,Name, Age, Address
会使用所有值()。
我在这里试过:GoPlay,但它不起作用。
解决方案
您可以将用户嵌入到信息中,如下所示
type Info struct {
Address string
User
}
完整的代码示例如下
package main
import "fmt"
type User struct {
Name string
Age int
}
type Info struct {
Address string
User
}
func main() {
info := Info{
Address: "abc",
User: User{
Name: "user",
Age: 25,
},
}
printInfo(info)
}
func printInfo(info Info) {
fmt.Println("name - ",info.Name)
fmt.Println("age - ",info.Age)
fmt.Println("address - ",info.Address)
}
推荐阅读
- git - 强制推送后如何从 GitHub PR 永久删除(或隐藏)提交
- angular6 - Angular Material Datepicker - 更改输出的方法
- ios - Ionic 应用程序未在 info plist 文件中显示各种权限,尽管它们位于 config.xml 中
- sql-server - SQL Server 中的 DATEDIFF
- javascript - 我需要澄清反应的状态和生命周期
- python - Python C-API:PyDict_GetItem 上的分段错误,可能的参考问题?
- c - libmpdec mpd_qncopy 内存分配
- html - 当用户设置浏览器字体大小时会发生什么?
- ruby-on-rails - Rails 类方法是线程安全的吗?
- reactjs - 使用 React 突出显示垂直列