github.com/songzhibin97/gkit@v1.2.13/tools/pointer/template.txt (about)

     1  package pointer
     2  
     3  // To{{upper}}Pointer 将{{lower}}类型的变量转换为对应的*{{lower}}指针类型
     4  func To{{upper}}Pointer(v {{lower}}) *{{lower}} {
     5  	return &v
     6  }
     7  
     8  // To{{upper}}PointerOrNilIfZero 将{{lower}}类型的变量转换为对应的*{{lower}}指针类型,如果变量的值为0的话则返回nil指针
     9  func To{{upper}}PointerOrNilIfZero(v {{lower}}) *{{lower}} {
    10  	if v == 0 {
    11  		return nil
    12  	}
    13  	return &v
    14  }
    15  
    16  // From{{upper}}Pointer 获取*{{lower}}类型的指针的实际值,如果指针为nil的话则返回0
    17  func From{{upper}}Pointer(p *{{lower}}) {{lower}} {
    18  	return From{{upper}}PointerOrDefaultIfNil(p, 0)
    19  }
    20  
    21  // From{{upper}}PointerOrDefaultIfNil 获取*{{lower}}类型的指针的实际值,如果指针为nil的话则返回defaultValue
    22  func From{{upper}}PointerOrDefaultIfNil(v *{{lower}}, defaultValue {{lower}}) {{lower}} {
    23  	if v == nil {
    24  		return defaultValue
    25  	}
    26  	return *v
    27  }