隐藏页面特效

多态函数

// 多态
// 示例
package main

import (
	"fmt"
)
type notifier interface {
    notify()
}
type user struct{
    name string
    email string
}
func (u *user) notify(){
    fmt.Printf("Sending user email to %s<%s>\n", u.name, u.email)
}
type admin struct{
    name string
    email string
}
func (a *admin) notify(){
    fmt.Printf("Sending admin email to %s<%s>\n", a.name, a.email)
}
// 多态函数,不同实例类型调用相同方法返回不同实例的结果
func sendNotification(n notifier){
    n.notify()
}

func main(){
    bill := user{"Bill", "bill@email.com"}
    sendNotification(&bill) // 传地址
    
    lisa := admin{"Lisa", "lisa@email.com"}
    sendNotification(&lisa) // 传地址
}


__EOF__

本文作者404 Not Found
本文链接https://www.cnblogs.com/weiweivip666/p/15480707.html
关于博主:可能又在睡觉
版权声明:转载请注明出处
声援博主:如果看到我睡觉请喊我去学习
posted @   我在路上回头看  阅读(65)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
点击右上角即可分享
微信分享提示