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

        go語言怎么獲取類型信息

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

        go語言怎么獲取類型信息

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

        在go語言中,可以通過反射獲取類型信息。

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

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

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

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

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

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

        代碼輸出如下:

        go語言怎么獲取類型信息

        代碼說明如下:

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

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

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

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

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

        贊(0)
        分享到: 更多 (0)
        網(wǎng)站地圖   滬ICP備18035694號(hào)-2    滬公網(wǎng)安備31011702889846號(hào)
        主站蜘蛛池模板: 亚洲精品无码专区久久同性男| 自拍中文精品无码| 久久中文精品无码中文字幕| 999久久久免费精品国产| 午夜在线视频91精品| 97久视频精品视频在线老司机| 久久精品无码专区免费东京热 | 精品日韩亚洲AV无码| 国产亚洲精品无码拍拍拍色欲| 国产精品手机在线| 精品国产一区二区三区无码| 亚洲线精品一区二区三区影音先锋| 精品一区二区三区免费视频 | 久久精品国产一区二区三区日韩| 日韩人妻无码精品久久免费一| 久久精品国产99久久久香蕉| 91po国产在线精品免费观看| 国产精品一区二区久久| 成人无码精品1区2区3区免费看| 亚洲国产精品无码久久一线| 网友偷拍日韩精品| 久久精品国产欧美日韩| 国产精品无码A∨精品影院| 无码国产精品一区二区免费16| 日本熟妇亚洲欧美精品区| 99久久亚洲综合精品网站| 国产精品国产三级国产av品爱网| 日批日出水久久亚洲精品tv| 国产精品无码永久免费888 | 国产福利精品视频自拍| 国产精品99精品久久免费| 亚洲欧美日韩国产精品专区 | 国产精品久久久久jk制服| 呦交小u女国产精品视频| 久草热8精品视频在线观看| 911亚洲精品国产自产| 九九在线精品视频专区| 久久99精品国产麻豆蜜芽| 国产午夜精品理论片| 国产精品99精品视频网站| 91精品婷婷国产综合久久|