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)

}
相关推荐
爱吃烤鸡翅的酸菜鱼2 分钟前
IDEA高效开发:Database Navigator插件安装与核心使用指南
java·开发语言·数据库·编辑器·intellij-idea·database
心情好的小球藻40 分钟前
Python应用进阶DAY9--类型注解Type Hinting
开发语言·python
ldj202044 分钟前
SpringBoot为什么使用new RuntimeException() 来获取调用栈?
java·spring boot·后端
超龄超能程序猿1 小时前
Spring 应用中 Swagger 2.0 迁移 OpenAPI 3.0 详解:配置、注解与实践
java·spring boot·后端·spring·spring cloud
惜.己1 小时前
使用python读取json数据,简单的处理成元组数组
开发语言·python·测试工具·json
江南一点雨1 小时前
Tokenizer 和 BPE
后端
风象南1 小时前
SpringBoot配置属性热更新的轻量级实现
java·spring boot·后端
洛阳泰山1 小时前
Spring Boot 整合 Nacos 实战教程:服务注册发现与配置中心详解
java·spring boot·后端·nacos
Y4090011 小时前
C语言转Java语言,相同与相异之处
java·c语言·开发语言·笔记
江南一点雨1 小时前
ChatGPT与最大似然估计
后端