
局部变量
decltype严格按表达式语法形式推导类型,不求值、保留引用和const;标识符取声明类型,其他表达式按值类别加&或&&;常用于尾置返回类型推导,与auto有本质区别。
PHP变量不支持内联注释,需在声明前用DocBlock注释,类属性支持@var等标签说明类型与用途,局部变量无法被PHPDoc关联,应优先使用PHP7.4+属性类型声明。
空类大小为1字节,因C++标准要求对象有唯一地址,编译器隐式插入char确保sizeof至少为1;验证应直接用sizeof,不可依赖地址差值。
在Go中,使用:=声明时若左侧变量名与外层作用域(如包级)变量重名,会创建新局部变量而非赋值给全局变量;要修改全局变量必须显式声明err后用=赋值,或更推荐——避免全局变量,改用返回值与依赖注入。
Go中指针非默认共享方式,参数传递均为值拷贝;真正共享依赖map、slice、chan、*T等类型内部指针字段,仅修改元素内容才反映原变量,重赋值不共享,且并发访问需显式同步。
用sync.Pool复用对象可显著降低GC压力,适用于创建开销大、生命周期短、可重置的无状态对象,需手动Reset并提供fallback创建逻辑,且不可依赖必然命中。
consteval强制函数仅在编译期执行,constinit强制变量在编译期初始化;二者分别锁死函数执行时机和变量初始化时机,与constexpr协同实现更精准的编译期控制。
Go的switch支持无表达式写法,将case视为布尔表达式顺序求值,首个true即执行并自动break;带表达式时case逗号分隔表示多值匹配;fallthrough强制穿透至下一case;type...
Go测试函数必须以Test开头且接收*testing.T参数,文件名须为xxx_test.go且包名一致;子测试用t.Run();禁用log.Fatal/os.Exit;t.Parallel()需置于...
consteval强制函数仅在编译期执行,constinit强制变量在编译期初始化;二者分别锁死函数执行时机和变量初始化时机,与constexpr协同实现更精准的编译期控制。