在Golang中使用类型定义

时间:2017-11-14 12:41:23

标签: go types

在我的代码中,我有:

type Dimension big.Int

但是,我不清楚如何初始化维度对象。 我知道我可以通过以下方式创建一个big.Int对象:

i := big.NewInt(100)

但是,如何将其转换为Dimension,或者更好,如何将其直接初始化为Dimension

1 个答案:

答案 0 :(得分:1)

假设:

type Dimension big.Int

如果不使用Dimension软件包的big初始化程序,则无法声明Int,因为它包含未导出的字段。因此,最好的办法是用自己的方法包装底层初始化程序:

func NewDimension(i int64) *Dimension {
    x := big.NewInt(100)
    z := Dimension(*x)
    return &z
}

然后将其称为:

i := NewDimension(100)