美文网首页
golang 类型断言

golang 类型断言

作者: echo0x | 来源:发表于2019-05-06 10:39 被阅读0次

golang类型断言

类型断言是一个使用在接口值上的操作

有时候,我们可能需要知道某个接口类型的实际类型,比如某个方法需要接收多种类型的数据并需要做分别处理,我们可以把形参设为空接口类型并接收任意类型的值,但是我们怎么反向知道里面实际保存的是哪个类型的对象呢?

  • <font color="#c7254e">Comma-ok 断言</font>
    \color{red}{红色字}

语法

  • <font color="#c7254e">value,ok := x.(T)

    x表示一个接口的类型,T表示一个类型(也可为接口类型)</font>

该断言表达式会返回x的值和一个布尔值 可根据该布尔值判断x是否为T类型

如:

func main() {
  var x interface{}
  x = 10
  value, ok := x.(int)
  fmt.Print(value, ",", ok)
}

输出:
<font color="#c7254e">10,true</font>

相关文章

  • 聊聊golang的类型断言

    序 本文主要研究一下golang的类型断言 类型断言 断言x不为nil且x为T类型 如果T不是接口类型,则该断言x...

  • golang 类型断言

    golang类型断言 类型断言是一个使用在接口值上的操作 有时候,我们可能需要知道某个接口类型的实际类型,比如某个...

  • golang类型断言

    typeAnimalinterface{ Speak() } typeCatstruct{ Namestring ...

  • Golang类型转换和类型断言

    零值 变量声明时没有初始化会默认赋值为零值 。零值是: 基本类型的类型转换 C语言转换 先看一下,在C语言中的类型...

  • golang类型转换与断言

    使用方式: 总结:相似:都是右边有括号。区别:断言有. 类型转换demo: 断言demo:

  • golang-101-hacks(21)——类型断言&类型开关

    注:本文是对golang-101-hacks中文翻译通过类型断言(type assertion)方式来判断接口的具...

  • TypeScript入门基础(类型断言、内置对象)

    类型断言 类型断言(Type Assertion)可以用来手动指定一个值的类型。语法 <类型>值 或 值 as 类...

  • 类型断言

    类型断言可以用来手动指定一个值的类型,即允许变量从一种类型更改为另一种类型

  • 类型断言

    类型断言用于指定更具体的类型:比如: 以上代码对于 ts 来说它只知道 the_canvas_element 变量...

  • TS基础(八)类型断言

    类型断言可以用来手动指定一个值得类型语法 :值 as 类型 或者<类型>值在tsx中必须使用 前者 类型断言用途 ...

网友评论

      本文标题:golang 类型断言

      本文链接:https://www.haomeiwen.com/subject/vgtroqtx.html