比如,我们定义了一个 struct

type person struct {Name string `json:"name"`Age int        `json:"age"`
}

  

然后有一个函数为了通用性,函数返回值类型为 interface,但是某种情况我们知道这个函数是返回 person 类型的,我们就可以

person.(person).Name

来调用 person 类型里面的东西,因为 interface 类型直接调用会报错。

参考:Type_assertions

官网一个例子:

var x interface{} = 7          // x has dynamic type int and value 7
i := x.(int)                   // i has type int and value 7type I interface { m() }func f(y I) {s := y.(string)        // illegal: string does not implement I (missing method m)r := y.(io.Reader)     // r has type io.Reader and the dynamic type of y must implement both I and io.Reader…
}

  

转载于:https://www.cnblogs.com/eleven24/p/9030976.html

golang interface 类型变量当作某个具体类型使用相关推荐

  1. java实现鸭子类型,Golang的interface及duck typing鸭子类型

    Golang的interface及duck typing鸭子类型 "当看到一只鸟走起来像鸭子.游泳起来像鸭子.叫起来也像鸭子,那么这只鸟就可以被称为鸭子." 意思就是: 一个东西究 ...

  2. Golang 为什么不能直接将任意类型数组赋值给 []interface{}完成泛型操作

    想用 []interface{} 类型来接受一个任意类型的数组,从而进行泛型操作时,发现直接赋值会发生错误,导致 panic var dataSlice []int = foo() var inter ...

  3. Golang interface 接口详细原理和使用技巧

    文章目录 Golang interface 接口详细原理和使用技巧 一.Go interface 介绍 interface 在 Go 中的重要性说明 interface 的特性 interface 接 ...

  4. 非零基础自学Golang 第3章 基本变量与类型 3.1 Go语言变量

    非零基础自学Golang 文章目录 非零基础自学Golang 第3章 基本变量与类型 3.1 Go语言变量 3.1.1 声明变量 3.1.2 初始化变量 3.1.3 变量值交换 3.1.4 匿名变量 ...

  5. golang interface 转 int string slice struct 类型

    在golang中,interface{}允许接纳任意值,int, string, struct,slice等,因此我可以很简单的将值传递到interface{} package main import ...

  6. golang interface 类型转换_Golang面试题41道

    Golang面试题41道 大家好,这一期呢,我们来说一下golang的面试题. 第1题什么是golang? go是一个开源的编程语言,由谷歌开发的.这门语言是设计用来做系统级的编程的. 第2题为什么要 ...

  7. golang interface to string_Golang 反射

    原文作者:OhBonsai 来源:简书 基本了解 在Go语言中,大多数时候值/类型/函数非常直接,要的话,定义一个.你想要个Struct 1type Foo struct {2 A int 3 B s ...

  8. golang interface 转 string,int,float64

    inter 是interface类型,转化为string类型是: str := inter.(string) 转为其他类型也类似 testInt := inter.(int) testFloat := ...

  9. golang interface 类型转换_无符号Golang程序逆向方法解析

    在去年的inctf2018中,出现了一道Go语言编写的进程通信逆向题,无论是从题目整体设计还是解题思路上来说都独树一帜,自己在解题过程中遇到了很多问题,但我这不打算做过多探讨,网上也有大佬的解题过程, ...

最新文章

  1. linux cpu 使用
  2. 出口印度海运注意事项
  3. es6 --- 模块
  4. OpenGL程序运行提示“glut32.dll丢失问题”
  5. mysql会对同时读取加锁吗_程序员经典面试题,MySQL并发读写的时候,都是需要加锁的么?...
  6. 小米宣布将停止MIUI全球Beta测试计划
  7. 嘉峪关计算机网络优化,嘉峪关广播电视大学计算机网络技术专业_甘肃报名_网络教育计算机网络技术专业教学计划_中国教育在线...
  8. C语言学习笔记---001C语言的介绍,编译过程原理,工具等
  9. 20155230 2016-2017-2《Java程序设计》课程总结
  10. python多元回归因子选取_Python中的多元回归(带因子选择)
  11. 为ASP.NET AJAX 1.0 Beta补充trace和dump功能
  12. 传染病模型中作图与计算(matlab,数学模型)
  13. 阿里云ace考试有什么用?想要通过需要掌握哪些方面知识?
  14. Python基础 [...,]三点切片
  15. CAD输出为PDF至A4大小
  16. python名片管理系统_用python实现名片管理系统
  17. 透明导航 html,导航栏(Nav) 全透明效果的一种另类实现
  18. [Trans 系列之一]TransE算法(Translating Embedding)
  19. 权限管理实现的两种方式(详解)
  20. VS打开后界面找不到win32或者x64的选项怎么办?

热门文章

  1. 彩色星球科技冠名著名钢琴艺术家吴牧野世界巡演《肖邦圆舞曲全集》长沙站演出...
  2. ui设计师职业规划怎么写_职业生涯规划报告---ui设计师.doc
  3. 听声音做钥匙?!慢放开锁音轨,黑客就能破解常用门锁,从33万种密钥中锁定3种
  4. heartbeat心跳检测和裂脑
  5. python 乘法口诀表
  6. python中not、and和or的简介以及优先级说明
  7. Matlab绘制各种小波函数及尺度函数图
  8. 在前互联网时代,宜家就有这些“互联网思维”
  9. 中国信息化系统集成行业协会:企业信息化系统集成
  10. AC最佳防守——一些头疼的错误