go语言(十三)-----interface

一、Interface

通用万能类型

  1. 空接口
  2. int,string,float,struct都实现了interface
  3. 都可以用interface{}类型,引用任意的数据类型
go 复制代码
package main

import "fmt"

//interface()是万能数据类型
func myFunc(arg interface{}) {
	fmt.Println("myFunc  is  called...")
	fmt.Println(arg)

//给interface{}提供"类型断言"的机制
value, ok := arg.(string)
if !ok {
	fmt.Println("arg is not string type")
} else {
	fmt.Println("arg is string type,value = ",value)

	fmt.Printf("value type is %T\n",value)
}
}

type Book struct {
	auth string
}

func main() {
	book := Book{"Golang"}

	myFunc(book)
	myFunc(100)
	myFunc("abc")
	myFunc(3.14)

}
相关推荐
kylezhao20199 分钟前
C#中 Invoke、begininvoke、InvokeRequired的详细讲解和三者之间的区别
开发语言·c#
wanderful_11 分钟前
Django 模拟支付功能开发:踩坑与闭环实现
后端·python·django
bubiyoushang88811 分钟前
基于遗传算法的LQR控制器最优设计算法
开发语言·算法·matlab
谢尔登16 分钟前
深入React19任务调度器Scheduler
开发语言·前端·javascript
hoiii18716 分钟前
MATLAB中LSSVM工具包及简单例程详解
开发语言·matlab
Flobby52918 分钟前
深入理解 MySQL 索引:从 B+ 树到索引下推
数据库·后端·mysql
玄〤18 分钟前
个人博客网站搭建day6--Spring Boot自定义RedisTemplate配置:优化序列化与Java8时间类型支持
java·spring boot·redis·后端·spring
mingren_131419 分钟前
SDL3配置及基本使用(完整demo)
开发语言·c++·音视频
李可以量化19 分钟前
【Python 量化入门】AKshare 保姆级使用教程:零成本获取股票 / 基金 / 期货全市场金融数据
开发语言·python·金融·qmt·miniqmt·量化 qmt ptrade
众创岛20 分钟前
使用IIS运行php程序,处理put和delete请求出现405错误
开发语言·php