登录
首页 >  Golang >  Go问答

Golang 结构体字段与切片语义:“有一个”结构体切片与“是一个”结构体切片

来源:stackoverflow

时间:2024-04-06 10:24:36 190浏览 收藏

珍惜时间,勤奋学习!今天给大家带来《Golang 结构体字段与切片语义:“有一个”结构体切片与“是一个”结构体切片》,正文内容主要涉及到等等,如果你正在学习Golang,或者是对Golang有疑问,欢迎大家关注我!后面我会持续更新相关内容的,希望都能帮到正在学习的大家!

问题内容

我有以下代表网页的结构

type webpage struct {
    url.url
    references []url.url
}

我想将一个网站表示为网页的集合。我正在使用这个结构,但它感觉不像我正在寻找的:

type website struct {
    []Webpage
}

我将其理解为“一个网站一片网页”。我想要一种代表“网站网页的一部分”的类型。

我应该使用什么类型来表示结构体字段的 is 关系而不是 has 关系?


解决方案


type website []webpage

websitewebpage 的切片

当然这是可能的。你的结构应该是这样的。

type webpage struct {
  url        url.url
  references []url.url
}

type website struct {
  webpages []webpage
}

因此 website 将包含 webpages 的切片。 这是处理数据库时的常见概念。如果你想举更多例子并了解更多关于这个概念的信息,你可以看看这个GORM Documentation

希望有帮助。

编辑:
在您关注的书中,已经提供了示例:https://www.golang-book.com/books/intro/9#section3

type MultiShape struct {
    shapes []Shape
}

终于介绍完啦!小伙伴们,这篇关于《Golang 结构体字段与切片语义:“有一个”结构体切片与“是一个”结构体切片》的介绍应该让你收获多多了吧!欢迎大家收藏或分享给更多需要学习的朋友吧~golang学习网公众号也会发布Golang相关知识,快来关注吧!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>