Golang Option模式

Golang Option模式

  • 创建对象的“构造方法”
  • 使用Option模式来改造代码
  • 什么是Option模式
  • 如何使用Option模式
  • 关于Option使用的小建议

创建对象的“构造方法”

相信了解过C++、Java等面向对象语言的人都知道,这类编程语言都会通过类的构造方法来创建对象,这些编程语言都允许定义多个相同名称但参数类型、参数个数不同的构造方法,来实现不同场景下的对象创建。例如以下提供的Java例子,Student类就提供了三个构造器(这里假设一个学生对象,必须要有id和name属性,addr和age属性可选),我们可以通过new Student(1, "studentName")创建一个默认的学生对象,也可以通过new Student(1, "studentName", "studentAddr")创建一个指定地址的学生对象。

class Student {
   
    
    private long id;
    
    private String name;
    
    private String addr = "unknown";
    
    private int age = 18;
    
    // 一般的Student对象
    public Student(long id, String name) {
   
        this.id = id;
        this.name = name;
    }
    
    // 指定addr的Student对象
    public Student(long id, String name, String addr) {
   
        this.id = id;
        this.name = name;
        this.addr = addr;
    }
    
    // 指定addr和age的Student对象
    public Student(long id, String name, String addr, int age) {
   
        this.id = id;
        this.name = name;
        this.addr = addr;
        this.age = age;
    }
    
    public static void main (String[] args) {
   
        Student st1 = new Student((long)1, "zhang san");
        System.out.println(st1.id + "," + st1.name);
        Student st2 = new Student((long)2, "li si", 

你可能感兴趣的:(设计模式,go语言学习,设计模式,golang)