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)

}
相关推荐
老苗项目实战18 小时前
Java工程师高频面试题(基于近一年的真实面试记录整理)
java·开发语言·面试·预见猿份·老苗项目实战
薛定谔的悦18 小时前
一套储能 BMS 的充电电流限值,是怎么一步步算出来的
后端
小小、码农18 小时前
C++11右值引用与移动语义 —— 从拷贝资源到转移资源
开发语言·网络·c++·网络协议
逐米时代18 小时前
AR加知识库提升一次修复率
后端·restful
for_ever_love__18 小时前
python基础语法学习: requirements.txt
开发语言·python·学习
王码码203518 小时前
Go语言CGO:Go与C交互
后端·golang·go·接口
XiaoYu1__18 小时前
JavaGUI文件管理系统开发实战:从静态展示到动态交互的演进
java·开发语言
for_ever_love__18 小时前
python基础语法学习: 动态类型
开发语言·python·学习
霸道流氓气质18 小时前
MCP(Model Context Protocol)核心概念与Java SDK集成
java·开发语言
企查查数据服务18 小时前
全军禁入下客商准入风控,关联图谱与穿透核查
大数据·开发语言·数据库·php