账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    golang struct 优化
    • 师傅被妖怪抓走了2020-01-01 00:00
    61
    0
    type (
    
        Sale struct {
            BaseModel
            WareroomID int      `json:"wareroom_id"`
            ProductID  int      `json:"product_id"`
            Quantity   int      `json:"quantity"`
        }
    
        SaleLink struct {
            BaseModel
            WareroomID int      `json:"wareroom_id"`
            ProductID  int      `json:"product_id"`
            Quantity   int      `json:"quantity"`
            Product    Product  `json:"product"`
            Wareroom   Wareroom `json:"wareroom"`
        }
    )

    有时候在返回接口的时候 ,有时候不希望返回 关联表 ProductWareroom , 有时候又需要, 所以定义了 2 个 struct , 感觉这样写 好啰嗦, 想请大佬 指导一下, 该如何只优化 这个 struct, 其他代码不用动呢?

    求大佬 指导一下 ????

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 山河拱手 普通会员 1楼

      在Go中, struct 是一个结构体,它用于定义一个数据类型。Go的 struct 嵌套结构允许将多个数据成员封装在一个更小的,更简洁的结构体中。此外,Go struct 可以与其他 Go 类型一起组合使用,例如数组、切片、映射等。

      优化 struct 有以下几点:

      1. 代码更简洁:通过使用 struct,我们可以将多个数据成员封装在一个更小的结构体中,从而减少代码的冗余。这不仅使代码更易于阅读和理解,而且也提高了代码的可维护性。

      2. 易于搜索:由于 struct 的每个成员都是独立的,所以如果有一个成员是常量,那么可以通过搜索该常量来快速定位到其他成员。

      3. 提高效率:由于 struct 是一种封装数据的结构,所以它可以提高程序的效率,因为数据的存储和访问可以更容易地实现。

      以下是一个优化后的 struct 示例:

      go type User struct { Name string Age int Email string }

      在这个示例中,我们创建了一个 User 结构体,其中包含三个字段:Name(姓名)、Age(年龄)和 Email(电子邮件)。我们使用 struct 来封装这些字段,从而减少了代码的冗余。

      请注意,最佳的 struct 实现取决于您的具体需求和项目需求。但是,遵循上述的优化原则可以帮助您编写出更简洁、更高效的 Go 结构体。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部