Sintaks Permulaan Golang untuk Slices dan Peta
Dalam Go, mengisytiharkan dan memulakan kepingan dan peta boleh melibatkan struktur tanpa nama, satu aspek yang mungkin menyebabkan kekeliruan. Mari kita mendalami nuansa teknik pemulaan ini.
Untuk menggambarkan, pertimbangkan baris berikut dari Bab 7 GOPL:
<code class="go">var tracks = []*Track{ {"Go", "Delilah", "From the Roots Up", 2012, length("3m38s")}, {"Go", "Moby", "Moby", 1992, length("3m37s")}, {"Go Ahead", "Alicia Keys", "As I Am", 2007, length("4m36s")}, {"Ready 2 Go", "Martin Solveig", "Smash", 2011, length("4m24s")}, }</code>
Kod ini mentakrifkan sepotong penunjuk Trek. Dalam permulaan hirisan, unsur-unsur kelihatan seperti struktur tanpa nama tanpa pengisytiharan jenis eksplisit. Walau bagaimanapun, Go membolehkan anda memulakan struktur ini menggunakan pintasan sintaks:
<code class="go">f := []<type>{{...}, {...}}</code>
Sintaks ini secara berkesan bersamaan dengan:
<code class="go">f := []<type>{<type>{...}, <type>{...}}</code>
di mana
<code class="go">f := []*Track{{...}, {...}}</code>
yang bersamaan dengan:
<code class="go">f := []*Track{&Track{...}, &Track{...}}</code>
Sintaks ini juga digunakan pada peta:
<code class="go">f := map[string]<type>{"a": {...}, "b": {...}} // equivalent to f := map[string]<type>{"a": &<type>{...}, "b": &<type>{...}}</code>
Struktur tanpa nama, sebaliknya, merujuk kepada struktur tanpa definisi jenis yang berasingan. Jenis tanpa nama berbeza daripada struktur tanpa nama, di mana hanya struktur itu sendiri tidak mempunyai nama. Struktur tanpa nama sebenar ditulis sebagai:
<code class="go">f := []struct{ A, B int }{ {1, 2}, {3, 4} }</code>
Dalam kes ini, struct dalam senarai tidak mempunyai definisi jenis dan dirujuk tanpa nama. Pendek kata permulaan membolehkan kami memulakan struktur ini dengan mudah tanpa jenis bernama.
Atas ialah kandungan terperinci Bagaimanakah sintaks permulaan Go untuk kepingan dan peta mengendalikan struktur tanpa nama?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!