php小編西瓜在本文中將探討一個關於Golang語言的問題:是否存在結構的延伸運算子。 Golang作為一種現代化的程式語言,擁有許多強大的特性和功能,但是在一些特定的場景下,開發人員可能會遇到需要對結構進行擴展的需求。本文將詳細介紹Golang中結構擴展的相關知識,並給予解。如果你對Golang的結構擴展運算子感興趣,那麼請繼續閱讀這篇文章。
具有以下結構,其中 postinput
是 createpost
函數的參數。
type postinput struct { title string content string } type postinputwithtime struct { title string content string createdat time updatedat time }
但不希望 createdat
和 updatedat
暴露給用戶,所以我將其添加到函數中,如下所示。
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中文網其他相關文章!