gpt4 book ai didi

go - 新函数和未初始化变量的区别

转载 作者:IT王子 更新时间:2023-10-29 02:26:28 25 4
gpt4 key购买 nike

新函数和未初始化变量有什么区别?两者的优势是什么?

s := new(string) // *string
var s *string // *string
var s string // string

只是为了简化代码吗?因为我觉得是一样的

s := new(string) /* same as */ var s *string = &emptyString

最佳答案

这段代码:

var s *string

只需将“s”声明为指向字符串的指针。在这种情况下,“s”是一个 nil 指针,这是 golang 中指针的默认值。

这段代码:

s := new(string)

同样将“s”声明为一个指向字符串的指针,但这次字符串被初始化了。这意味着“s”是一个非零指针,指向 golang 中字符串的默认值,一个空字符串。

See this playground

关于go - 新函数和未初始化变量的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38538332/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com