在Go中使用指向字符串而不是字符串的指针有什么好处

时间:2017-05-16 16:12:06

标签: go data-structures structure

回顾一些go代码我遇到了这个:

Person struct {
    Name *string `json:"name"`
}

然后我看到了一些地方:

Animal struct {
    Name string `json:"name"`
} 

这里的指针有什么优势?

3 个答案:

答案 0 :(得分:2)

$(document).ready(function () { var element = $("#ship-to-different-address-checkbox") if (typeof element !== 'undefined' && element.is(":checkbox") && element.checked) { element.checked.checked = false // anything else element.checked.trigger("change"); } }); 声明pointer type。解码JSON时有时会使用指向字符串的指针来区分以下JSON:

*

如果没有指针,则无法在解码结果中区分缺失值和空白值。

如果应用程序不需要进行此区分,则使用问题中显示的第二种形式。它更方便。

答案 1 :(得分:1)

*表示指针 在您的情况下,Name是指向字符串的类型指针的字段。

请参阅http://www.golang-book.com/books/intro/8

答案 2 :(得分:1)

*是指针。

  

指针类型表示指向给定变量的所有指针的集合   type,称为指针的基类型。的价值   未初始化的指针是零。

这来自Go Spec。我建议你阅读所有内容。