在以下代码中
package main
import "fmt"
func test[A, B any](a A, b B) {
fmt.Printf("a: %v, b: %v", a, b)
}
func main() {
test[string, int]("test", 1)
}
调用测试方法时的显式类型规范是不必要的,也是过度指定的.调用test("test", 1")
就足够了,因为类型可以从参数中推断出来.
是否可以配置VSCode来指示这一点?或者有没有林特会报道这件事? 不知何故,我记得我曾看到VSCode将不必要的类型规范显示为灰色文本,但要么是我搞砸了配置,要么是这个功能消失了.
这对于更高级的情况将非常有帮助,特别是因为围棋中的类型推断正在稳步改进,并且为较旧的围棋版本编写的代码可能会得到简化.
根据文件,设置
"gopls": {
"ui.diagnostic.analyses": {
"infertypeargs": true
}
}
应该已经引起了未使用类型的可视指示.但这并没有出现在我的面前.