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)

}
相关推荐
risc1234564 分钟前
channel.read(dest, channelPosition) 的读取大小限制
开发语言·python
惊讶的猫7 分钟前
Springboot 组件注册 条件注解
java·spring boot·后端
爆炒西瓜@18 分钟前
springboot内存定位,提取数据库账号密码
数据库·spring boot·后端
困死,根本不会25 分钟前
Qt Designer 基础操作学习笔记
开发语言·笔记·qt·学习·microsoft
野犬寒鸦25 分钟前
面试常问:什么是TCP连接:虚拟对话通道的奥秘
服务器·网络·后端·tcp/ip·面试·tcpdump
new code Boy30 分钟前
NestJS、Nuxt.js 和 Next.js
前端·后端
zzz841530 分钟前
Spring Boot 3.x 引入springdoc-openapi (内置Swagger UI、webmvc-api)
spring boot·后端·ui
李昊哲小课38 分钟前
Python 高级数据结构
开发语言·数据结构·python
MediaTea1 小时前
Python:词频统计流程及综合示例
开发语言·python