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)

}
相关推荐
Qinana7 分钟前
第一次用向量数据库!手搓《天龙八部》RAG助手,让AI真正“懂”你
前端·数据库·后端
苏三说技术8 分钟前
阿里又开源了一个顶级Java项目!
后端
ch85629 分钟前
我在某电商大促场景踩了Full GC的坑,排查了6小时,终于搞定OOM频繁重启问题
后端
nelsontang33 分钟前
Prometheus High Cardinality(高基数)问题完全指南
后端
IT_陈寒1 小时前
Vite凭什么比Webpack快10倍?5个核心优化原理大揭秘
前端·人工智能·后端
怕浪猫1 小时前
第22章:项目实战与进阶优化——从开发到部署的完整旅程
后端·go·编程语言
摸鱼的春哥1 小时前
你适合养龙虾🦞吗?4类人不适合2类适合
前端·javascript·后端
Moment2 小时前
Agent 开发本质上就是高级点的 CRUD
前端·后端·面试
stark张宇2 小时前
避坑指南:Windows 用户安装 OpenClaw 的正确姿势,拒绝失败率 100%
人工智能·后端·llm
程序员爱钓鱼3 小时前
Go错误处理全解析:errors包实战与最佳实践
前端·后端·go