我是 Go 语言的新手,并且只有很少的 C/C++ 背景,所以我很自然地在思考何时使用指针和何时不使用指针的想法。尽管这个问题可能被认为是开放式的,但我想知道关于何时返回结构和何时返回指针的一些指导原则(以及何时接受结构/指针作为参数)。
据我所知,以下陈述是正确的:
我的假设正确吗?还是我错过了指针上的标记?
你的假设是正确的。关于 #3,Go 是并发语言,在 goroutine 中通过引用传递使它们都读取相同的结构,这是安全的,但也会使它们修改相同的结构,这是危险的。