关于golang的类型推导、隐式类型转换的一些思考
前言
今天,有个朋友突然问了我一个问题,为什么在以下代码中会发生以下这种情况呢?
secretId == ""可以正常的进行比较;printString(secretId)会提示类型不匹配;
1 | import "fmt" |
看到这个问题我的第一反应是由于 类型推导(Type
inference),"" 被直接推导为 Password
类型,所以可以直接和 secretId 对象进行比较。可惜的是,在 golang
反编译的代码中已经丢失了类型信息,所以只能慢慢探索了。