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)

}
相关推荐
用户298698530144 分钟前
C#: 高效移动与删除Excel工作表
后端·.net·excel
guchen667 分钟前
记录一次Prism9隐式注册引发的事件聚合器失效问题
后端
冰糖拌面8 分钟前
GO写的http服务,清空cookie
服务器·http·golang
一行•坚书18 分钟前
kafka服务端与客户端如何协作?生产者发送消息分区策略是什么?消费者组分区策略?集群与ACK机制?
java·后端·kafka
小年糕是糕手26 分钟前
【数据结构】常见的排序算法 -- 插入排序
c语言·开发语言·数据结构·学习·算法·leetcode·排序算法
天天摸鱼的java工程师35 分钟前
干掉系统卡顿!Excel异步导出完整实战方案(百万数据也不慌)
java·后端
星释40 分钟前
Rust 练习册 4:Deref trait 与智能指针
开发语言·后端·rust
Cache技术分享41 分钟前
231. Java 集合 - 将集合元素转换为数组
前端·后端
心随雨下43 分钟前
Java中将System.out内容写入Tomcat日志
java·开发语言·tomcat
小码编匠1 小时前
WPF 绘制图表合集-LiveCharts
后端·c#·.net