国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Golang中的類型轉(zhuǎn)換介紹

這篇具有很好參考價(jià)值的文章主要介紹了Golang中的類型轉(zhuǎn)換介紹。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

Golang中存在4種類型轉(zhuǎn)換,分別是:斷言、顯式、隱式、強(qiáng)制。下面我將一一介紹每種轉(zhuǎn)換使用場(chǎng)景和方法

一、斷言類型轉(zhuǎn)換

主要是判斷變量是否可以轉(zhuǎn)換成某一類型。斷言主要用于變量是interface{}類型(接口類型)的情況,且變量值必須與要轉(zhuǎn)換類型一致??梢约?xì)分為2種使用方式

  • 普通斷言
  • switch斷言

1.1 普通斷言示例

// 定義一個(gè)接口類型變量
var userInfo interface{}
// 定義一個(gè)map類型變量
userInfoNew := map[string]int{
	"phoneNum": 123456,
	"age":      18,
}
// 由于interface{}可以接收任何類型變量,因此可以將map類型變量賦值給它
userInfo = userInfoNew
// 此時(shí)userInfo變量類型仍為interface{},但變量值是map類型,若想獲取變量值需采用斷言進(jìn)行類型轉(zhuǎn)換
res, _ := userInfo.(map[string]int)
fmt.Println("age:", res["age"])

輸出結(jié)果:

age: 18

1.2 switch斷言示例

var userInfo interface{} = "user info"
switch val := userInfo.(type) {
case float32:
	fmt.Printf("userInfo變量的類型為%T userInfo變量的值為%v\n", val, val)
case float64:
	fmt.Printf("userInfo變量的類型為%T userInfo變量的值為%v\n", val, val)
case int:
	fmt.Printf("userInfo變量的類型為%T userInfo變量的值為%v\n", val, val)
case bool:
	fmt.Printf("userInfo變量的類型為%T userInfo變量的值為%v\n", val, val)
case string:
	fmt.Printf("userInfo變量的類型為%T userInfo變量的值為%v\n", val, val)
default:
	fmt.Println("非已知類型")
}

輸出結(jié)果:

userInfo變量的類型為string userInfo變量的值為user info

二、顯示類型轉(zhuǎn)換

細(xì)分為2種:

  • 表達(dá)式格式為:T(x),T為變量x要轉(zhuǎn)換的最終類型。適用整型與浮點(diǎn)型互轉(zhuǎn),字節(jié)數(shù)組與字符串類型互轉(zhuǎn),結(jié)構(gòu)體類型轉(zhuǎn)換接口類型(反之不行)
  • 使用strconv包提供的方法
    1)strconv.Atoi():將字符串類型轉(zhuǎn)成整數(shù)
    2)strconv.Itoa():將整數(shù)轉(zhuǎn)成字符串類型

三、隱式類型轉(zhuǎn)換

通常是程序內(nèi)部自動(dòng)轉(zhuǎn)換,對(duì)開(kāi)發(fā)人員無(wú)感知

四、強(qiáng)制類型轉(zhuǎn)換

這個(gè)暫時(shí)未研究文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-730167.html

到了這里,關(guān)于Golang中的類型轉(zhuǎn)換介紹的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • golang 類型轉(zhuǎn)換interface轉(zhuǎn)字符串string

    方式一和方式二適用于interface和各種轉(zhuǎn)換 方式三如果需要將一個(gè)普通的類型轉(zhuǎn)換成字符串,可以使用 strconv 包中的相關(guān)函數(shù)。例如,將一個(gè)整數(shù)轉(zhuǎn)換成字符串:

    2024年02月12日
    瀏覽(24)
  • 詳細(xì)介紹golang中.()類型斷言的使用方法

    詳細(xì)介紹golang中.()類型斷言的使用方法

    Golang是一門(mén)非常流行的編程語(yǔ)言,在很多領(lǐng)域都有著廣泛的應(yīng)用。在開(kāi)發(fā)過(guò)程中,很多時(shí)候我們需要將函數(shù)作為參數(shù)傳遞給其他函數(shù),這時(shí)候就需要用到golang中的.()用法。本文將詳細(xì)介紹golang中.()的使用方法。 在golang中,.()被稱為類型斷言,可以將一個(gè)interface{}類型的變量轉(zhuǎn)

    2024年02月14日
    瀏覽(21)
  • Golang 中的反射,并用來(lái)獲取數(shù)據(jù)類型

    Go語(yǔ)言提供了一種機(jī)制在運(yùn)行中獲取某個(gè)變量的類型,獲取或修改變量的值,調(diào)用變量的方法。 示例代碼如下 通過(guò) reflect.Value 判斷變量類型,并轉(zhuǎn)換成 string 。 輸出結(jié)果: 輸出結(jié)果:

    2024年01月22日
    瀏覽(24)
  • Golang 中的 archive/zip 包詳解(二):常用類型

    Golang 中的 archive/zip 包用于處理 ZIP 格式的壓縮文件,提供了一系列用于創(chuàng)建、讀取和解壓縮 ZIP 格式文件的函數(shù)和類型,使用起來(lái)非常方便。 定義如下: 表示一個(gè) ZIP 文件中的單個(gè)文件的信息,文件的元數(shù)據(jù)信息,例如文件名、文件大小、修改時(shí)間等包含在?FileHeader 中,有

    2024年02月11日
    瀏覽(20)
  • 標(biāo)準(zhǔn)庫(kù)unsafe:帶你突破golang中的類型限制

    本文分享自華為云社區(qū)《突破語(yǔ)言golang中的類型限制》,作者:碼樂(lè)。 在使用c語(yǔ)言編程時(shí),常常因?yàn)轭愋偷膯?wèn)題大傷腦筋,而其他語(yǔ)言比如java,python默認(rèn)類型又是難以改變的,golang提供了一些方式用于喜歡hack的用戶。 官方說(shuō)明標(biāo)準(zhǔn)庫(kù) unsafe 包含繞過(guò) Go 程序的類型安全的操

    2024年04月08日
    瀏覽(16)
  • 100天精通Golang(基礎(chǔ)入門(mén)篇)——第5天: Go語(yǔ)言中的數(shù)據(jù)類型學(xué)習(xí)

    100天精通Golang(基礎(chǔ)入門(mén)篇)——第5天: Go語(yǔ)言中的數(shù)據(jù)類型學(xué)習(xí)

    ?? 博主 libin9iOak帶您 Go to Golang Language.? ?? 個(gè)人主頁(yè)——libin9iOak的博客?? ?? 《面試題大全》 文章圖文并茂??生動(dòng)形象??簡(jiǎn)單易學(xué)!歡迎大家來(lái)踩踩~?? ?? 《IDEA開(kāi)發(fā)秘籍》學(xué)會(huì)IDEA常用操作,工作效率翻倍~?? ?? 希望本文能夠給您帶來(lái)一定的幫助??文章粗淺,敬請(qǐng)批

    2024年02月08日
    瀏覽(35)
  • golang學(xué)習(xí)-golang結(jié)構(gòu)體和Json相互轉(zhuǎn)換

    1、結(jié)構(gòu)體轉(zhuǎn)為json對(duì)象 ? ? v, _ := json.Marshal(student) ? ? jsonStr := string(v) // 結(jié)構(gòu)體轉(zhuǎn)為json對(duì)象 2、json字符串轉(zhuǎn)為結(jié)構(gòu)體 ? ? var s1 Student ? ? err := json.Unmarshal([]byte(str), s1) //json 字符串轉(zhuǎn)為結(jié)構(gòu)體 ? ?3、結(jié)構(gòu)體標(biāo)簽 表示的是轉(zhuǎn)換為json對(duì)象時(shí),ID字段變?yōu)閕d,Name字段變?yōu)閚ame. type

    2024年01月23日
    瀏覽(24)
  • Golang自定義類型與類型別名

    type myInt int32 與 type myInt = int32 ,概念并不相同 自定義類型: type myInt int32 通過(guò)這種方式定義的類型是一個(gè) 全新的類型 ,這個(gè)新類型與 int32 有相同的底層結(jié)構(gòu),但是卻與 int32 類型不兼容。 盡管 myInt 的底層類型是 int32 ,但它們?cè)陬愋拖到y(tǒng)中是不同的。 類型別名: type myInt

    2024年02月13日
    瀏覽(23)
  • 【golang】每日chatGPT:golang中實(shí)現(xiàn)ENUM枚舉類型 | go enum

    在golang極簡(jiǎn)的哲學(xué)思想中,沒(méi)有內(nèi)置枚舉類型 這里我們通過(guò)map+iota去實(shí)現(xiàn)一個(gè)枚舉類型 枚舉值如下: key value 1 發(fā)電類 2 儲(chǔ)能類 13 負(fù)荷類 打印如下: 發(fā)電類 儲(chǔ)能類 負(fù)荷類 ========= 儲(chǔ)能類

    2024年02月15日
    瀏覽(20)
  • 編程筆記 Golang基礎(chǔ) 016 數(shù)據(jù)類型:數(shù)字類型

    在Go語(yǔ)言中,數(shù)字類型是其豐富數(shù)據(jù)類型的一部分,主要用于表示數(shù)值。 以下是Go語(yǔ)言中主要的數(shù)字類型詳解: 1. 整數(shù)類型(Integer Types) a) 固定長(zhǎng)度整數(shù): 有符號(hào)整數(shù) : int8 :8位帶符號(hào)整數(shù),范圍從-128到127。 int16 :16位帶符號(hào)整數(shù),范圍從-32,768到32,767。 int32 :32位帶符號(hào)

    2024年02月22日
    瀏覽(12)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包