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)

}
相关推荐
Ai财富密码5 分钟前
AI生成大屏可视化:数据智能驱动下的高维洞察与决策中枢
开发语言·人工智能·python·sdd
半兽先生8 分钟前
01阶段:大模型语言入门
开发语言·python
fengenrong10 分钟前
20260325
开发语言·c++
l1t12 分钟前
执行python pyperformance基准测试的步骤
开发语言·python
chushiyunen12 分钟前
python中的for循环、dict、set、列表、数组等
开发语言·python
IT 行者18 分钟前
实战LangChain4j集成MCP Server:让Java AI应用具备工具调用能力
java·开发语言·人工智能
always_TT24 分钟前
C语言中的“副作用”是什么?
c语言·开发语言
XiYang-DING1 小时前
【Java SE】包装类(Wrapper Class)
java·开发语言
麦兜顶当当1 小时前
subprocess与子进程交互
java·开发语言·jvm
不能放弃治疗1 小时前
详解大模型对话 API,messages 角色 system 、user、assistant、tool
后端