当前位置: 首页 > news >正文

# Go学习-Day6

文章目录

  • Go学习-Day6
    • 封装
    • 继承
    • 接口

Go学习-Day6

  • 个人博客:CSDN博客

封装

  • 类似java的类的封装,这里我们利用大小写和工厂模式来实现封装的功能
  • 略过

继承

  • 相似的类具有相似的方法,反复绑定相同的方法,代码冗余,所以引入了继承的概念

  • 嵌套匿名结构体来实现继承的效果

  • 动手实践!

  • type Node struct {Name     string `json:"name"`Password string `json:"password"`
    }type Point struct {NodeX intY int
    }func (a *Node) ok() {a.Name = "bbbb"
    }
    func main() {var a Point = Point{Node{"aaa", "bbb"},1,2,}a.ok()fmt.Println(a)
    }
    
  • 注意看,a.ok()其实是a.Node.ok()底层自动识别,可以省略匿名结构体

  • 基本数据类型可以匿名,但是不能出现多个相同类型的匿名基本类型

接口

  • 多态主要就是由接口来实现的

  • 声明

  • type inter interface {a()b()
    }
    
  • 实现接口

  • import "fmt"type inter interface {a()b()
    }
    type obj1 struct {
    }type union struct {
    }func (o obj1) a() {fmt.Println("okkk")//用node对象给接口的a()实现
    }func (o obj1) b() {fmt.Println("ohhh")
    }func (u union) ok(in inter) {in.a()in.b()
    }func main() {x := union{}y := obj1{}x.ok(y)
    }
  • 从上面我们可以看到,在声明一个接口之后,我们用工厂方法法obj对应接口的所有方法给实现了,然后另外整一个抽象类似的的结构体,绑定一个方法运行接口,这样我们就能通过接口把这两个类给链接在一起。

  • 总结。

  • interface类型可以定义一组方法,方法不用实现,并且不能含有变量

  • Go语言没有implements关键字,只要一个变量类型,绑定了接口中所有的方法,这个变量就能实现这个接口

  • 这个变量就能导入到含有接口作为变量的函数内

http://www.lryc.cn/news/139788.html

相关文章:

  • 分布式 - 服务器Nginx:一小时入门系列之 HTTPS协议配置
  • 探秘Linux系统性能监控神器!Linux和Python技术持续学习者必看!
  • 文心一言续写太监小说《名侦探世界的巫师》
  • Solidity 合约安全,常见漏洞(第三篇)
  • Linux安装Redis数据库,无需公网IP实现远程连接
  • 智慧政务,长远布局——AIGC引领,加速推进数字化政府建设
  • 中央处理器(CPU):组成、指令周期、数据通路、控制方式、控制器、指令流水线,补充(多处理器系统、硬件多线程)
  • 开源微服务如何选型?Spring Cloud、Dubbo、gRPC、Istio 详细对比
  • Nginx的HTTPS部署与安全性能优化
  • 5.8. Trusted Board Boot
  • 微信小程序——van-field中的left-icon属性自定义
  • 一文学会lua脚本
  • 学习JAVA打卡第四十二天
  • 2023-8-25食物链
  • 为什么要使用IP地址进行定位
  • CSS概念
  • 淘宝API技术解析,实现关键词搜索淘宝商品(商品详情接口等)
  • Redis 7 教程 数据类型 基础篇
  • -bash: tree: command not found 的解决方法
  • SPI总线协议
  • Ubuntu20.04配置mysql配置主从复制
  • HTTP 服务器(基于go实现)
  • 【整数二分】
  • 开发一款AR导览导航小程序多少钱?ar地图微信小程序 ar导航 源码
  • Shell 编程快速入门 之 函数基础知识
  • Flink流批一体计算(18):PyFlink DataStream API之计算和Sink
  • 03.sqlite3学习——数据类型
  • LLM-chatgpt训练过程
  • 【学习笔记】[ABC274Ex] XOR Sum of Arrays
  • 抖音web频道爬虫