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)

}
相关推荐
hhb_6185 分钟前
Dylan 语言核心特性与工程实践深度解析
开发语言·c#
码事漫谈30 分钟前
兵临城下:DeepSeek-V4 的技术突围与算力“成人礼”
后端
无巧不成书021832 分钟前
零基础Java网络编程全解:从核心概念到Socket实战,一文打通Java网络通信
java·开发语言·网络
饭小猿人38 分钟前
Flutter实现底部动画弹窗有两种方式
开发语言·前端·flutter
三水不滴1 小时前
SpringAI + SpringDoc + Knife4j 构建企业级智能问卷系统
经验分享·spring boot·笔记·后端·spring
aq55356001 小时前
Workstation神技:一键克隆调试环境
java·开发语言
lly2024061 小时前
框架:构建高效系统的基石
开发语言
skywalk81632 小时前
发现Kotti项目的python包Beaker 存在安全漏洞
开发语言·网络·python·安全
玖玖passion2 小时前
Windows 上部署 Hermes Agent 完整指南 - 让你的 AI 助手在 WSL2 中跑起来
前端·后端·github