美文网首页
go设计模式代码实现

go设计模式代码实现

作者: 五岁小孩 | 来源:发表于2021-01-11 22:25 被阅读0次

go 设计模式代码实现

单例模式

  • 代码实现

     type singleton struct{}
     var ins *singleton
     var once sync.Once
     func GetIns() *singleton {
         once.Do(func(){
           ins = &singleton{}
        })
         return ins
     }
    

适配器模式

  • 代码实现

    //目标接口
    type Targeter interface {
     NewPrint()
    }
    
    //需要转换的接口
    type Adapteer interface {
     Print()
    }
    
    //需要转换的接口的实现
    type AdapteeTpl struct {
    }
    
    func (AdapteeTpl) Print() {
     fmt.Println("我是接口(Adapteer)的实现类的实现方法")
    }
    
    //目标接口实现
    type TargeterTpl struct {
     //包裹转换接口
     Adapteer
    }
    //目标接口方法实现
    func (t *TargeterTpl) NewPrint() {
     t.Print()
    }
    
    //转换工厂
    func AdapteFatcory(a Adapteer) Targeter {
     return &TargeterTpl{
         AdapteeTpl{},
     }
    }
    //转换方法
    func AdapterService() {
     //创建转换接口
     a := AdapteeTpl{}
     //工厂转换
     b := AdapteFatcory(a)
     //调用新接口方法
     b.NewPrint()
    
    }
    

相关文章

  • go设计模式代码实现

    go 设计模式代码实现 单例模式 代码实现 type singleton struct{} var ins *si...

  • Golang 设计模式之-装饰模式

    Golang 设计模式之-装饰模式 最近在温习设计模式,虽然面向对象不是go的特长,但用go实现的设计模式,比ja...

  • 选择排序

    Java代码实现 Go代码实现

  • 我们必须遵循的 12 个 Go 语言最佳实践

    本文旨在提供一个切实的指导,在 Go 语言中实现最佳实践和设计模式。这些编程技巧可以帮助开发者编写出较好的代码。 ...

  • Template Method 模板方法模式

    设计原则学习笔记 设计模式学习笔记 作用 将可变的和不可变的代码分离,可变的代码由子类实现,不可变代码由父类实现...

  • Django中MVC与MVT设计模式的区别系列之一

    MVC设计模式 MVC设计模式核心: 解耦,让不同的代码块之间降低耦合,增强代码的可扩展和可移植性,实现向后兼容。...

  • Go语言之单例

    单例模式是比较常用的设计模式,现在用Go简单的实现一个单例 上述代码可见,打印出来的对象都同一个,也就是说此对象只...

  • Go - 网络轮询器

    前言 可以从 Go 源码目录结构和对应代码文件了解 Go 在不同平台下的网络 I/O 模式的实现。比如,在 Lin...

  • btcd-go 中log部分代码解读

    btcd-go 中log部分代码 整体设计 Backend 主要实现了线程安全的print, printf功能,即...

  • 设计模式

    前言 设计模式如果应用到项目中,可以实现代码的复用和解耦,提高代码质量。 本文主要介绍14种设计模式写UI组件,封...

网友评论

      本文标题:go设计模式代码实现

      本文链接:https://www.haomeiwen.com/subject/cjvonktx.html