久久久久久久视色,久久电影免费精品,中文亚洲欧美乱码在线观看,在线免费播放AV片

<center id="vfaef"><input id="vfaef"><table id="vfaef"></table></input></center>

    <p id="vfaef"><kbd id="vfaef"></kbd></p>

    
    
    <pre id="vfaef"><u id="vfaef"></u></pre>

      <thead id="vfaef"><input id="vfaef"></input></thead>

    1. 站長(zhǎng)資訊網(wǎng)
      最全最豐富的資訊網(wǎng)站

      go語(yǔ)言怎么獲取類(lèi)型信息

      在go語(yǔ)言中,可以通過(guò)反射來(lái)獲取類(lèi)型信息;只需要調(diào)用reflect包的TypeOf()函數(shù)即可。方法:1、使用“reflect.TypeOf()”函數(shù)取得指定變量的類(lèi)型對(duì)象;2、使用Name()和Kind()獲取類(lèi)型對(duì)象的類(lèi)型信息,語(yǔ)法“類(lèi)型對(duì)象.Name()”和“類(lèi)型對(duì)象.Kind()”。

      go語(yǔ)言怎么獲取類(lèi)型信息

      本教程操作環(huán)境:windows7系統(tǒng)、GO 1.18版本、Dell G3電腦。

      在go語(yǔ)言中,可以通過(guò)反射獲取類(lèi)型信息。

      在 Go語(yǔ)言中通過(guò)調(diào)用 reflect.TypeOf 函數(shù),我們可以從一個(gè)任何非接口類(lèi)型的值創(chuàng)建一個(gè) reflect.Type 值。reflect.Type 值表示著此非接口值的類(lèi)型。通過(guò)此值,我們可以得到很多此非接口類(lèi)型的信息。當(dāng)然,我們也可以將一個(gè)接口值傳遞給一個(gè) reflect.TypeOf 函數(shù)調(diào)用,但是此調(diào)用將返回一個(gè)表示著此接口值的動(dòng)態(tài)類(lèi)型的 reflect.Type 值。

      實(shí)際上,reflect.TypeOf 函數(shù)的唯一參數(shù)的類(lèi)型為 interface{},reflect.TypeOf 函數(shù)將總是返回一個(gè)表示著此唯一接口參數(shù)值的動(dòng)態(tài)類(lèi)型的 reflect.Type 值。

      那如何得到一個(gè)表示著某個(gè)接口類(lèi)型的 reflect.Type 值呢?我們必須通過(guò)下面將要介紹的一些間接途徑來(lái)達(dá)到這一目的。

      類(lèi)型 reflect.Type 為一個(gè)接口類(lèi)型,它指定了若干方法。 通過(guò)這些方法,我們能夠觀察到一個(gè) reflect.Type 值所表示的 Go類(lèi)型的各種信息。這些方法中的有的適用于所有種類(lèi)的類(lèi)型,有的只適用于一種或幾種類(lèi)型。通過(guò)不合適的 reflect.Type 屬主值調(diào)用某個(gè)方法將在運(yùn)行時(shí)產(chǎn)生一個(gè)恐慌。

      使用 reflect.TypeOf() 函數(shù)可以獲得任意值的類(lèi)型對(duì)象(reflect.Type),程序通過(guò)類(lèi)型對(duì)象可以訪問(wèn)任意值的類(lèi)型信息。下面通過(guò)例子來(lái)理解獲取類(lèi)型對(duì)象的過(guò)程:

      package main import (     "fmt"     "reflect" ) func main() {     var a int     typeOfA := reflect.TypeOf(a)     fmt.Println(typeOfA.Name(), typeOfA.Kind()) }
      登錄后復(fù)制

      代碼輸出如下:

      go語(yǔ)言怎么獲取類(lèi)型信息

      代碼說(shuō)明如下:

      • 第 10 行,定義一個(gè) int 類(lèi)型的變量。

      • 第 12 行,通過(guò) reflect.TypeOf() 取得變量 a 的類(lèi)型對(duì)象 typeOfA,類(lèi)型為 reflect.Type()。

      • 第 14 行中,通過(guò) typeOfA 類(lèi)型對(duì)象的成員函數(shù),可以分別獲取到 typeOfA 變量的類(lèi)型名為 int,種類(lèi)(Kind)為 int。

      擴(kuò)展知識(shí):反射的類(lèi)型(Type)與種類(lèi)(Kind)

      在使用反射時(shí),需要首先理解類(lèi)型(Type)和種類(lèi)(Kind)的區(qū)別。編程中,使用最多的是類(lèi)型,但在反射中,當(dāng)需要區(qū)分一個(gè)大品種的類(lèi)型時(shí),就會(huì)用到種類(lèi)(Kind)。例如,需要統(tǒng)一判斷類(lèi)型中的指針時(shí),使用種類(lèi)(Kind)信息就較為方便。

      贊(0)
      分享到: 更多 (0)
      網(wǎng)站地圖   滬ICP備18035694號(hào)-2    滬公網(wǎng)安備31011702889846號(hào)