【问题标题】:Create instance of struct with values创建具有值的结构实例
【发布时间】:2018-05-22 02:19:33
【问题描述】:
// Valid checks Config data
func (c *Config) Valid() Error {
    // Check mapping.hosts
    for _, raw := range c.Mapping.Hosts {
        if validIP := utils.ValidIP4(raw.IPAddress); !validIP {
            err := new(InvalidIPError)
            return err
        }
    }

    return nil
}

// Error represents errors in config
type Error interface {
    Error() string
}

// InvalidIPError raises when invalid ip provided
type InvalidIPError struct {
    HostRaw HostRaw
}

func (e *InvalidIPError) Error() string {
    return fmt.Sprintf("You specified invalid IP: %v", e.HostRaw)
}

如何使用 new 关键字和值创建 InvalidIPError 实例,以便在一行中将其发送到 return

例如这样的return new(InvalidIPError{HostRaw: raw})

【问题讨论】:

标签: go struct


【解决方案1】:
return &InvalidIPError{HostRaw: raw}

【讨论】:

  • 更详细地了解为什么这解决了这个问题,这对未来的其他读者非常有用。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-09
  • 2021-10-11
  • 2014-01-26
  • 2015-08-05
  • 1970-01-01
  • 2022-12-03
相关资源
最近更新 更多