Taip Penegasan dengan Menghantar Jenis kepada Fungsi
Dalam Go, penegasan taip melibatkan pengesahan sama ada nilai antara muka melaksanakan jenis tertentu. Untuk mencapai ini melalui fungsi, anda boleh menggunakan pakej reflect dan menyediakan sampel jenis data yang dijangkakan.
Pengisytiharan Fungsi
Pengisytiharan fungsi yang anda patut gunakan ialah :
<code class="go">func myfunction(v interface{}, mytype interface{}) bool</code>
Di mana:
Penggunaan
Dalam fungsi utama, anda boleh memanggil myfunction seperti ini:
<code class="go">assertMatch := myfunction("hello world", "stringSample")</code>
Di sini, "stringSample" ialah sampel daripada jenis rentetan. Jika nilai v ialah rentetan, fungsi akan kembali benar. Jika tidak, ia akan kembali palsu.
Contoh
Berikut ialah contoh:
<code class="go">package main import ( "fmt" "reflect" ) func myfunction(v interface{}, mytype interface{}) bool { return reflect.TypeOf(v) == reflect.TypeOf(mytype) } func main() { assertNoMatch := myfunction("hello world", map[string]string{}) fmt.Printf("%+v\n", assertNoMatch) assertMatch := myfunction("hello world", "stringSample") fmt.Printf("%+v\n", assertMatch) }</code>
Output:
false true
Atas ialah kandungan terperinci Bagaimanakah anda boleh melakukan Type Assertion dalam Go dengan menghantar jenis kepada fungsi?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!