5.3 Go语言中构造函数与复合声明(Constructors and composite literals)

本文介绍了Go语言中构造函数的概念,指出在复杂的初始化场景下,构造函数的必要性。同时,详细讨论了复合声明的使用,包括如何通过复合声明简化代码,以及其在局部变量和返回值中的应用。此外,还提到了复合声明在数组、Slices和Maps初始化中的作用,建议避免使用new方式声明,推荐使用复合声明。
摘要由CSDN通过智能技术生成

构造函数

单纯使用new进行初始化无法满足初始化需求,必须需要初始化的构造函数,例如以下这个例子:

func NewFile(fd int, name string) *File {
   
    if fd < 0 {
   
        return nil
    }
    f := new(File)
    f.fd = fd
    f.name = name
    f.dirinfo = nil
    f.nepipe = 0
    return f
}

虽然使用了new进行了初始化,但是后续的一些属性初始化较为复杂,所以使用复合声明,大幅度简化代码复杂程度。


                
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

老孙正经胡说

创作不易,感谢您的关注

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值