首頁 > 後端開發 > Golang > 主體

golang 結構是否有擴充運算符

PHPz
發布: 2024-02-09 12:36:19
轉載
394 人瀏覽過

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學習者快速成長!