Golang:将结构体类型设置为nil。

huangapple go评论86阅读模式
英文:

golang: Set type struct to nil

问题

你好!要将NewVar设置为nil,你可以使用以下代码:

NewVar = Ptr{}

这将使用零值初始化NewVar,并将其设置为nil。

英文:
type Ptr struct {
    ID   *big.Int
    IpAddress string
    Port      string
}
var NewVar Ptr

After initializing the NewVar with values I then want to set NewVar to nil. How can I do this?

答案1

得分: 30

结构体值的零值不是nil。

这样的变量或值的每个元素都被设置为其类型的零值:布尔类型为false,整数类型为0,浮点数类型为0.0,字符串类型为"",指针、函数、接口、切片、通道和映射类型为**nil**。

在你的情况下,这个变量声明 var NewVar Ptr 创建了这个变量,将相应的标识符Ptr绑定到它上面,并给它一个类型和一个初始值。

英文:

The zero value of a struct value is not nil

> Each element of such a variable or value is set to the zero value for its type: false for booleans, 0 for integers, 0.0 for floats, "" for strings, and nil for pointers, functions, interfaces, slices, channels, and maps.

In your case, this variable declaration var NewVar Ptr creates the variable, binds corresponding identifier Ptr to it, and gives it a type and an initial value.

huangapple
  • 本文由 发表于 2015年5月9日 03:02:13
  • 转载请务必保留本文链接:https://go.coder-hub.com/30131052.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定