go 结构体自实现构造函数

 Golang  2023-02-21  admin  59  79

Go没有自带的构造函数,采用自实现

方式1

结构体不复杂,可以返回结构体类型,值拷贝性能开销小

func NewPerson(name string, age int8) Person {
  return Person{
    name: name,
    age:  age,
  }
}

方式2

结构体复杂,得返回结构体指针类型,避免值拷贝产生的性能开销

func NewPerson(name string, age int8) *Person {
  return &Person{
    name: name,
    age:  age,
    sex:  sex,
    country:country,
    province:province,
    city:city,
    town:town,
    address:address,
  }
}


如果文章对您有帮助,点击下方的广告,支持一下作者吧!

转载必须注明出处:

go 结构体自实现构造函数 —— centhp.com

相关推荐


php 正则获取字符串中所有图片链接地址并下载图片

php 正则获取字符串中所有图片链接地址并下载图片/** *获取图片的绝对地址 *@paramstring$content *@returnmixed *@Author:centphp.com */ functiongetImageUrl(string$content="") { //$pattern="/src=[\"\'](\S*

PHP常用正则表达式汇总

PHP常用正则表达式汇总"^\d+$"  //非负整数(正整数+0) "^[0-9]*[1-9][0-9]*$"  //正整数 "^((-\d+)|(0+))$"  //非正整数(负整数+0) "^-[0-9]*[1-9][0-9]*$"  //负整数 "^-?\d+$"    //整数

go 结构体和结构体指针

结构体实例化//结构体实例化 //写法1 varaAnimal a.Name="小狗" a.Age=18 //写法2 a2:=Animal{ Name:"dog", Age:18, } fmt.Println(fmt.Sprintf("类型:%T-值:%v占用内存:%v",a,a,unsafe.Sizeof(a))

go语言生成ssl网站证书

在go的x509包下有go定义的证书的结构packagemain import( "crypto/ecdsa" "crypto/elliptic" "crypto/rand" "crypto/x509" "crypto/x509/pkix" "encoding