我是一名 C++ 高级程序员。我目前正在做一些 Go 编程。我真正想念的唯一功能是 const 限定符。在go中,如果你想修改一个对象,你就传递它的指针。如果您不想修改它,则按值传递它。但是如果结构很大,你应该通过指针传递它,它覆盖了无修改功能。更糟糕的是,您可以按值传递一个对象,但如果它包含一个指针,您实际上可以修改其内容,这会带来可怕的竞争条件危险。某些语言类型(如地图和切片)具有此功能。这发生在一种应该为并发构建的语言中。所以避免修改的问题在 Go 中真的不存在,你应该传递不包含指针的小对象 (您必须知道对象不包含指针)按值,如果它们不会被修改。
使用 const,您可以通过 const 指针传递对象,而不必担心修改。类型安全是关于拥有允许速度并防止与类型相关的错误的契约。执行此操作的另一个功能是 const 限定符。
长风秋雁
慕田峪9158850
相关分类