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

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

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    golang两种代码方式的优缺点?
    30
    0

    请问下大家,以下两种代码,哪一种更合适,分别有什么优缺点?
    个人觉得第一种代码量多 而且有一个空的结构体 意义呢?
    哪一种使用的更广泛一些?

    个人觉得 第一种方式类似有点像c#的味道 NewUserLogic 类似于构造方法 返回的是实例化后的对象 之后通过对象去访问对象的方法!!!

    第二种类似于js的函数式编程 一个函数调用另一个函数

    所以有点懵逼 到底哪种合适 哪种好一点!!!

    第一种: 使用结构体

    type UserLogic struct {}
    
    type ProductLogic struct {}
    
    func NewUserLogic ()*UserLogic {
        return New(UserLogic)
    }
    
    func NewProductLogic () *ProductLogic{
        return New(ProductLogic)
    }
    
    func (*UserLgic ) GetUserById(id int64) (model.User,error) {
        // 逻辑代码
    }
    
    func (*ProductLogic) GetProductById(id int64) (model.Product,error) {
    // 逻辑代码
    }
    
    // 调用
    user,err :=logic.NewUserLogic().GetUserById(1)
    product,err :=logic.NewProductLogic().GetProductById(1)

    第二种 直接定义直接调用

    func GetUserById(id int64) (model.User,error) {
        // 逻辑代码
    }
    
    func GetProductById(id int64) (model.Product,error) {
    // 逻辑代码
    }
    
    // 调用
    user,err :=logic.GetUserById(1)
    product,err :=logic.GetProductById(1)
    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 在Go语言中,有两种主要的编程风格:一是面向对象编程(OOP)风格,另一种是函数式编程(FP)风格。

      1. OOP风格:

      优点: - 组织代码更加清晰和结构化,更容易理解 - 可以使用接口和方法来创建类,这使得代码更加灵活和可扩展 - 通过继承和多态,可以轻松地创建多态的类和接口 - 对于大型和复杂的项目,OOP风格可以更有效地管理代码和数据

      缺点: - OOP风格需要更多的代码来组织和控制 - OOP风格的代码更容易出错,因为它们依赖于编译器的语法解析器 - OOP风格的代码更容易变得难以理解,特别是当代码变得过于复杂时

      1. FP风格:

      优点: - 可以使用纯函数和闭包来避免副作用 - 通过惰性计算,可以更有效地管理和优化代码 - 通过使用更小的内存消耗,可以提高程序的性能 - FP风格的代码更加简单,更容易理解

      缺点: - FP风格的代码可能不那么直观和易于理解 - FP风格的代码可能无法像OOP风格那样进行调试和优化 - FP风格的代码可能更容易出错,因为它们依赖于编译器的语法解析器

      总的来说,Go语言提供了丰富的编程风格选择,每种风格都有其独特的优点和缺点。选择哪种风格取决于项目的具体需求和团队的技能和偏好。

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