Melalukan Pembolehubah Jenis kepada Fungsi untuk Penegasan Jenis
Anda mahu melakukan penegasan jenis dengan menghantar jenis ke dalam fungsi. Pada asasnya, anda berhasrat untuk mencapai perkara berikut:
<code class="go">// Note that this is pseudocode, because Type isn't valid here func myfunction(mystring string, mytype Type) { ... someInterface := translate(mystring) object, ok := someInterface.(mytype) ... // Do other stuff } func main() { // Desired function call myfunction("hello world", map[string]string) }</code>
Untuk berjaya melaksanakan penegasan jenis dalam myfunction, gunakan pengisytiharan fungsi berikut:
<code class="go">package main import "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) // false assertMatch := myfunction("hello world", "stringSample") fmt.Printf("%+v\n", assertMatch) // true }</code>
Pendekatan ini melibatkan penggunaan sampel jenis anda mahu padankan, memastikan bahawa jenis adalah sama untuk penegasan jenis yang berjaya.
Atas ialah kandungan terperinci Bagaimana untuk Menghantar Pembolehubah Jenis kepada Fungsi untuk Penegasan Jenis dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!