教程集 www.jiaochengji.com
教程集 >  Golang编程  >  golang教程  >  正文 Go语言的空接口,接口类型断言

Go语言的空接口,接口类型断言

发布时间:2022-01-13   编辑:jiaochengji.com
教程集为您提供Go语言的空接口,接口类型断言等资源,欢迎您收藏本站,我们将为您提供最新的Go语言的空接口,接口类型断言资源
<h3>1.空接口作为函数参数</h3>

使用空接口实现可以接收任意类型的函数参数。

<pre><code>package mian //golang中空接口可以当作类型使用,表示任何类型 func show(a interface{}) { fmt.printf("值: %v 类型: %T\n", a, a) } func main() { show(20) //type: int show("hello golang") //type: string slice := []int{1, 2, 5, 100} //type: 切片 show(slice) } </code></pre> <h3>2.类型断言</h3>

一个接口的值(简称接口值)是由一个具体类型和具体类型的值两部分组成。这两部分分别称为接口的动态类型和动态值。

如果我们想要判断空接口中值的类型,那么这个时候就可以使用类型断言,其语法格式:

<pre><code>x.(T)</code></pre> <ul><li>x:表示类型为interface{}的变量</li><li>T:表示断言x可能的类型。</li></ul>

该语法返回两个参数,第一个参数是x转化为T类型后的变量,第二个值是一个布尔值,若为true则表示断言成功,为false则表示断言失败。

<pre><code>package main import "fmt" func main() { var a interface{} a = "hello golang" v, ok := a.(string) if ok { fmt.Println("a就是一个string类型,值为:",v) } else { fmt.Println("断言失败") } }</code></pre>

注意:x.(Type)只能用在switch中

到此这篇关于“Go语言的空接口,接口类型断言”的文章就介绍到这了,更多文章或继续浏览下面的相关文章,希望大家以后多多支持JQ教程网!

您可能感兴趣的文章:
Go语言的空接口,接口类型断言
Go语言接口interface
2020-10-18Go语言接口
Go语言空接口类型(interface{})
【Golang】go语言面向接口
Go语言基础之接口(面向对象编程下)
go struct 成员变量后面再加个字符串是什么意思?_Go语言的学习笔记(第十章) 接口...
go语言接口的基本概念
Golang 基础教程
Golang 复合数据类型:接口

上一篇:golang随机数 下一篇:golang 内置函数
[关闭]
~ ~