首页 > 后端开发 > Golang > 正文

golang 结构是否有扩展运算符

PHPz
发布: 2024-02-09 12:36:19
转载
392 人浏览过

golang 结构是否有扩展运算符

php小编西瓜在本文中将探讨一个关于Golang语言的问题:是否存在结构的扩展运算符。Golang作为一种现代化的编程语言,拥有许多强大的特性和功能,但是在一些特定的场景下,开发人员可能会遇到需要对结构进行扩展的需求。本文将详细介绍Golang中结构扩展的相关知识,并给出解决方案。如果你对Golang的结构扩展运算符感兴趣,那么请继续阅读本文。

问题内容

具有以下结构,其中 postinputcreatepost 函数的参数。

type postinput struct {
  title string
  content string
}

type postinputwithtime struct {
 title string
 content string
 createdat time
 updatedat time
}
登录后复制

但不希望 createdatupdatedat 暴露给用户,所以我将其添加到函数中,如下所示。

func createpost(input postinput) {
  updatedinput = postinputwithtime{
    title: input.title
    content: input.content
    createdat: time.now()
    updatedat: time.now()
  }
  db.insertone(updatedinput)
}
登录后复制

它工作正常,但很好奇是否有更优雅的方法来做到这一点?我知道可以将结构嵌入到另一个结构上,但不能嵌入到根层上(如 javascript 扩展运算符)。

// something like this
type PostInputWithTime struct {
 ...PostInput
 CreatedAt
 UpdatedAt
}
登录后复制

解决方法

是否有像 javascript 扩展运算符 [...] 一样的 go[...] 结构 [...] 扩展运算符?

没有。

(您必须使用嵌入、复制值或实现一些基于反射的魔法,但不,没有传播。)

以上是golang 结构是否有扩展运算符的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:stackoverflow.com
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!