Mengakses Nilai Struktur Tanpa Nama dalam Antara Muka Jenis Golang {}
Anda menghadapi masalah mengakses struct tanpa nama yang anda hantar ke fungsi NewJob dari dalam fungsi Tersuai. Ralat yang anda hadapi, "antara muka {} ialah antara muka tanpa kaedah," menunjukkan bahawa jenis antara muka{} yang anda gunakan tidak mempunyai kaedah yang ditentukan, menjadikannya mustahil untuk mengakses medan secara langsung.
Kepada selesaikan perkara ini, anda perlu menaip menegaskan nilai antara muka{} kepada jenis yang serasi, seperti struktur tanpa nama yang dimiliki oleh data anda. Melakukannya membolehkan anda mengakses medan yang anda inginkan. Berikut ialah kod yang dilaraskan:
<code class="go">func Custom(name string) interface{} { for i := range jobs { if jobs[i].name != name { continue } return jobs[i].custom } return nil } ... id := t.(struct{Id int}).Id</code>
Dalam kod di atas, kami menaip assert t pada struct dengan medan bernama Id. Ini membolehkan kami mengakses medan Id secara langsung, kini mengembalikan hasil jangkaan 1.
Atas ialah kandungan terperinci Bagaimana untuk Mengakses Nilai Struktur Tanpa Nama Dalam `antara muka{}` di Golang?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!