github.com/songzhibin97/gkit@v1.2.13/tools/pointer/string.go (about)

     1  package pointer
     2  
     3  // ToStringPointer 将string类型的变量转换为对应的*string指针类型
     4  func ToStringPointer(v string) *string {
     5  	return &v
     6  }
     7  
     8  // ToStringPointerOrNilIfEmpty 将string类型的变量转换为对应的*string指针类型,如果变量的值为空字符串的话则返回nil指针
     9  func ToStringPointerOrNilIfEmpty(v string) *string {
    10  	if v == "" {
    11  		return nil
    12  	}
    13  	return &v
    14  }
    15  
    16  // FromStringPointer 获取*string类型的指针的实际值,如果指针为nil的话则返回空字符串
    17  func FromStringPointer(p *string) string {
    18  	return FromStringPointerOrDefaultIfNil(p, "")
    19  }
    20  
    21  // FromStringPointerOrDefaultIfNil 获取*string类型的指针的实际值,如果指针为nil的话则返回defaultValue
    22  func FromStringPointerOrDefaultIfNil(v *string, defaultValue string) string {
    23  	if v == nil {
    24  		return defaultValue
    25  	}
    26  	return *v
    27  }