Adakah struktur golang mempunyai operator penyebaran?

PHPz
Lepaskan: 2024-02-09 12:36:19
ke hadapan
390 orang telah melayarinya

golang 结构是否有扩展运算符

editor php Xigua akan membincangkan soalan tentang bahasa Golang dalam artikel ini: sama ada terdapat operator pengembangan untuk struktur. Golang, sebagai bahasa pengaturcaraan moden, mempunyai banyak ciri dan fungsi yang berkuasa, tetapi dalam beberapa senario tertentu, pembangun mungkin menghadapi keperluan untuk melanjutkan struktur. Artikel ini akan memperkenalkan secara terperinci pengetahuan berkaitan pengembangan struktur di Golang dan memberikan penyelesaian. Jika anda berminat dengan pengendali penyebaran struktur Golang, sila teruskan membaca artikel ini.

Kandungan soalan

mempunyai struktur berikut, di mana postinputcreatepost ialah parameter fungsi.

type postinput struct {
  title string
  content string
}

type postinputwithtime struct {
 title string
 content string
 createdat time
 updatedat time
}
Salin selepas log masuk

tetapi tidak mahu createdatupdatedat didedahkan kepada pengguna, jadi saya menambahnya pada fungsi seperti yang ditunjukkan di bawah.

func createpost(input postinput) {
  updatedinput = postinputwithtime{
    title: input.title
    content: input.content
    createdat: time.now()
    updatedat: time.now()
  }
  db.insertone(updatedinput)
}
Salin selepas log masuk

Ia berfungsi dengan baik, tetapi ingin tahu sama ada terdapat cara yang lebih elegan untuk melakukan ini? Saya tahu ia mungkin untuk membenamkan struct di atas struct lain, tetapi bukan pada tahap akar (seperti pengendali penyebaran javascript).

// something like this
type PostInputWithTime struct {
 ...PostInput
 CreatedAt
 UpdatedAt
}
Salin selepas log masuk

Penyelesaian

Adakah terdapat [...] struktur [...] operator spread seperti operator spread javascript [...]?

Tidak.

(Anda perlu menggunakan pembenaman, menyalin nilai atau melaksanakan beberapa sihir berasaskan pantulan, tetapi tidak, tiada penyebaran.)

Atas ialah kandungan terperinci Adakah struktur golang mempunyai operator penyebaran?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:stackoverflow.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!