校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > Go 語言中的空接口(推薦)

Go 語言中的空接口(推薦)

熱門標(biāo)簽:濮陽自動外呼系統(tǒng)代理 賺地圖標(biāo)注的錢犯法嗎 地圖標(biāo)注測試 福州鐵通自動外呼系統(tǒng) 澳門防封電銷卡 智能電銷機(jī)器人營銷 烏魯木齊人工電銷機(jī)器人系統(tǒng) 長沙ai機(jī)器人電銷 廣東語音外呼系統(tǒng)供應(yīng)商

在自己學(xué)習(xí) Golang 的這段時間里,我寫了詳細(xì)的學(xué)習(xí)筆記放在我的個人微信公眾號 《Go編程時光》,對于 Go 語言,我也算是個初學(xué)者,因此寫的東西應(yīng)該會比較適合剛接觸的同學(xué),如果你也是剛學(xué)習(xí) Go 語言,不防關(guān)注一下,一起學(xué)習(xí),一起成長。

我的在線博客:http://golang.iswbm.com
我的 Github:github.com/iswbm/GolangCodingTime

1. 什么是空接口?

空接口是特殊形式的接口類型,普通的接口都有方法,而空接口沒有定義任何方法口,也因此,我們可以說所有類型都至少實現(xiàn)了空接口。

type empty_iface interface {
}

每一個接口都包含兩個屬性,一個是值,一個是類型。

而對于空接口來說,這兩者都是 nil,可以使用 fmt 來驗證一下

package main

import (
	"fmt"
)

func main() {
	var i interface{}
	fmt.Printf("type: %T, value: %v", i, i)
}

輸出如下

type: nil>, value: nil>

2. 如何使用空接口?

第一,通常我們會直接使用 interface{} 作為類型聲明一個實例,而這個實例可以承載任意類型的值。

package main

import (
	"fmt"
)

func main() {
	// 聲明一個空接口實例
	var i interface{}

	// 存 int 沒有問題
	i = 1
	fmt.Println(i)

	// 存字符串也沒有問題
	i = "hello"
	fmt.Println(i)

	// 存布爾值也沒有問題
	i = false
	fmt.Println(i)
}

第二,如果想讓你的函數(shù)可以接收任意類型的值 ,也可以使用空接口

接收一個任意類型的值 示例

package main

import (
	"fmt"
)

func myfunc(iface interface{}){
	fmt.Println(iface)
}

func main() {
	a := 10
	b := "hello"
	c := true

	myfunc(a)
	myfunc(b)
	myfunc(c)
}

接收任意個任意類型的值 示例

package main

import (
	"fmt"
)

func myfunc(ifaces ...interface{}){
	for _,iface := range ifaces{
		fmt.Println(iface)
	}
}

func main() {
	a := 10
	b := "hello"
	c := true

	myfunc(a, b, c)
}

第三,你也定義一個可以接收任意類型的 array、slice、map、strcut,例如這邊定義一個切片

package main

import "fmt"

func main() {
 any := make([]interface{}, 5)
 any[0] = 11
 any[1] = "hello world"
 any[2] = []int{11, 22, 33, 44}
 for _, value := range any {
 fmt.Println(value)
 }
}

3. 空接口幾個要注意的坑

坑1:空接口可以承載任意值,但不代表任意類型就可以承接空接口類型的值

從實現(xiàn)的角度看,任何類型的值都滿足空接口。因此空接口類型可以保存任何值,也可以從空接口中取出原值。

但要是你把一個空接口類型的對象,再賦值給一個固定類型(比如 int, string等類型)的對象賦值,是會報錯的。

package main

func main() {
	// 聲明a變量, 類型int, 初始值為1
	var a int = 1

	// 聲明i變量, 類型為interface{}, 初始值為a, 此時i的值變?yōu)?
	var i interface{} = a

	// 聲明b變量, 嘗試賦值i
	var b int = i
}

這個報錯,它就好比可以放進(jìn)行禮箱的東西,肯定能放到集裝箱里,但是反過來,能放到集裝箱的東西就不一定能放到行禮箱了,在 Go 里就直接禁止了這種反向操作。(聲明:底層原理肯定還另有其因,但對于新手來說,這樣解釋也許會容易理解一些。)

.\main.go:11:6: cannot use i (type interface {}) as type int in assignment: need type assertion

坑2::當(dāng)空接口承載數(shù)組和切片后,該對象無法再進(jìn)行切片

package main

import "fmt"

func main() {
	sli := []int{2, 3, 5, 7, 11, 13}

	var i interface{}
	i = sli

	g := i[1:3]
	fmt.Println(g)
}

執(zhí)行會報錯。

.\main.go:11:8: cannot slice i (type interface {})

坑3:當(dāng)你使用空接口來接收任意類型的參數(shù)時,它的靜態(tài)類型是 interface{},但動態(tài)類型(是 int,string 還是其他類型)我們并不知道,因此需要使用類型斷言。

package main

import (
	"fmt"
)

func myfunc(i interface{}) {

	switch i.(type) {
	case int:
		fmt.Println("參數(shù)的類型是 int")
	case string:
		fmt.Println("參數(shù)的類型是 string")
	}
}

func main() {
	a := 10
	b := "hello"
	myfunc(a)
	myfunc(b)
}

輸出如下

參數(shù)的類型是 int
參數(shù)的類型是 string

總結(jié)

到此這篇關(guān)于Go 語言中的空接口的文章就介紹到這了,更多相關(guān)go 語言空接口內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • django API 中接口的互相調(diào)用實例
  • Django 自動生成api接口文檔教程
  • python Django編寫接口并用Jmeter測試的方法
  • Django如何開發(fā)簡單的查詢接口詳解
  • 使用Django開發(fā)簡單接口實現(xiàn)文章增刪改查
  • golang中interface接口的深度解析
  • 淺談Go語言中的結(jié)構(gòu)體struct & 接口Interface & 反射
  • Go語言接口定義與用法示例
  • 分析Go語言接口的設(shè)計原則

標(biāo)簽:德州 貴陽 阿克蘇 西雙版納 廣西 調(diào)研邀請 太原 慶陽

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Go 語言中的空接口(推薦)》,本文關(guān)鍵詞  語言,中的,空,接口,推薦,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Go 語言中的空接口(推薦)》相關(guān)的同類信息!
  • 本頁收集關(guān)于Go 語言中的空接口(推薦)的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃
    亚洲影院久久精品| 亚洲一区二区三区在线播放| 制服丝袜av成人在线看| 免费成人小视频| 亚洲三级电影全部在线观看高清| 91精品婷婷国产综合久久性色| 国产成人欧美日韩在线电影| 亚洲成人动漫av| 中文字幕在线不卡| www国产精品av| 884aa四虎影成人精品一区| 99久久婷婷国产综合精品| 美女免费视频一区二区| 一区二区三区欧美视频| 久久久蜜臀国产一区二区| 欧美精选在线播放| 91免费国产视频网站| 国产精品一二三区| 日本不卡一二三区黄网| 亚洲一区欧美一区| 国产精品乱码妇女bbbb| 久久嫩草精品久久久久| 欧美一区二视频| 欧美日韩精品一区二区三区蜜桃 | 91蜜桃在线免费视频| 国产精品影视在线| 九九热在线视频观看这里只有精品 | 色综合久久久久| 粉嫩aⅴ一区二区三区四区| 激情小说欧美图片| 婷婷久久综合九色综合绿巨人| 亚洲黄色免费网站| 亚洲欧洲日韩一区二区三区| 国产婷婷色一区二区三区四区| 欧美电影免费观看完整版| 欧美日韩亚洲综合在线| 欧美日韩中文字幕一区二区| 在线中文字幕一区二区| 色欧美乱欧美15图片| 99精品国产视频| 99精品在线免费| 99久久婷婷国产| 一本大道久久精品懂色aⅴ| 色综合久久综合中文综合网| 91丨porny丨首页| 99久久婷婷国产综合精品电影| av在线不卡网| 色猫猫国产区一区二在线视频| 一本色道久久综合亚洲91| 91亚洲永久精品| 91麻豆成人久久精品二区三区| 99久久久久免费精品国产| 9i看片成人免费高清| 色综合欧美在线视频区| 欧美日韩久久久一区| 日韩一区二区在线免费观看| 日韩免费性生活视频播放| 26uuu成人网一区二区三区| 国产午夜亚洲精品理论片色戒| 中文字幕欧美日韩一区| 亚洲人成网站精品片在线观看| 亚洲一二三级电影| 日韩综合一区二区| 国模冰冰炮一区二区| 国产成人精品影院| 91啪亚洲精品| 91精品麻豆日日躁夜夜躁| 欧美不卡在线视频| 国产精品二区一区二区aⅴ污介绍| 成人欧美一区二区三区1314| 一区二区三区91| 免费欧美高清视频| 成人精品gif动图一区| 色综合久久久久久久久久久| 56国语精品自产拍在线观看| 精品国产一区久久| 亚洲欧洲三级电影| 男女男精品网站| 高清不卡一二三区| 欧美日韩亚洲丝袜制服| 久久精品夜色噜噜亚洲aⅴ| 亚洲欧美激情插 | 国产精品另类一区| 亚洲成年人网站在线观看| 国产激情偷乱视频一区二区三区| 在线亚洲欧美专区二区| 欧美成人伊人久久综合网| 亚洲男女一区二区三区| 久久精品久久99精品久久| 成人app下载| 精品国产亚洲一区二区三区在线观看| 国产精品免费免费| 激情综合色播激情啊| 色激情天天射综合网| 2021中文字幕一区亚洲| 亚洲成在人线免费| av网站免费线看精品| 精品91自产拍在线观看一区| 亚洲大型综合色站| 99视频一区二区| www国产精品av| 日本欧美在线观看| 99久久精品费精品国产一区二区| 91精品国产色综合久久| 欧美一级在线视频| 亚洲天堂成人在线观看| 日av在线不卡| 91偷拍与自偷拍精品| 精品国产电影一区二区| 亚洲黄色片在线观看| 国产成人综合自拍| 欧美日韩一区二区三区高清| 日韩欧美中文字幕一区| 亚洲午夜久久久久久久久电影网 | av不卡免费电影| 4438成人网| 亚洲精选免费视频| 国产麻豆精品久久一二三| 欧美日韩在线播放一区| 亚洲精品一二三区| 激情综合网最新| 91 com成人网| 一区二区三区四区激情| 国产成人综合在线| 色偷偷88欧美精品久久久| 中文幕一区二区三区久久蜜桃| 日韩精品久久久久久| 91国产丝袜在线播放| 精品福利在线导航| 午夜久久久久久久久| 国产一区二区三区黄视频| 欧美日韩一区二区三区高清| 中文字幕综合网| 懂色av中文字幕一区二区三区| 欧美一激情一区二区三区| 亚洲妇熟xx妇色黄| 成人在线一区二区三区| 国产精品午夜春色av| 国产一区二区视频在线播放| 欧美一级欧美三级在线观看| 一区二区免费在线| 91在线精品秘密一区二区| 一区二区国产视频| 91免费在线视频观看| 亚洲欧洲日产国码二区| 波多野洁衣一区| 日本一区二区免费在线| 91蜜桃免费观看视频| 国产精品福利一区二区三区| 国产91丝袜在线18| 26uuu成人网一区二区三区| 激情综合五月婷婷| 欧美激情一区在线| 高清成人免费视频| 中文字幕av在线一区二区三区| 国产成人一区二区精品非洲| 欧美精品一区二区三| 精品一区二区在线免费观看| 欧美电影免费观看高清完整版| 石原莉奈在线亚洲二区| 欧美一级二级在线观看| 奇米一区二区三区| 日韩精品一区在线| 国产一区在线精品| 国产精品理论在线观看| 91老师国产黑色丝袜在线| 亚洲天堂成人在线观看| 欧美无人高清视频在线观看| 亚洲欧美日本韩国| 欧美一级爆毛片| 国产剧情一区二区| 国产精品久久99| 91福利在线观看| 香蕉久久夜色精品国产使用方法 | 国产成人综合在线播放| 国产精品久久看| 91免费精品国自产拍在线不卡| 日韩一区日韩二区| 日韩欧美国产1| 欧美日韩一区二区三区视频| 亚洲成人av一区| 日韩美女主播在线视频一区二区三区 | 国产亚洲精久久久久久| 国内外精品视频| 国产精品国产三级国产a| 91福利精品第一导航| 日韩av中文字幕一区二区| 久久综合久久综合九色| 欧美在线免费观看视频| 久久精品国产99国产精品| 欧美经典一区二区| 欧美视频第二页| 日本特黄久久久高潮 | 亚洲成人激情av| 精品日韩成人av| 91亚洲男人天堂| 美日韩一级片在线观看| 一区二区三区中文字幕| 精品国产伦一区二区三区观看方式| 不卡免费追剧大全电视剧网站|