【发布时间】:2020-07-03 18:18:54
【问题描述】:
如果我想比较两种类型 - string 和 interface{} 我通常会这样写:
package main
import "log"
func main() {
var p1 interface{}
var p2 string
p1 = "123"
p2 = "123"
if v, ok := p1.(string); ok {
log.Println(v == p2)
} else {
log.Println("false")
}
}
我认为它是 type(p1) != string 时的保存变体。 但是如果我写是正确的吗?:
package main
import "log"
func main() {
var p1 interface{}
var p2 string
p1 = "123"
p2 = "123"
log.Println(p1 == p2)
}
如果 type(p1) != string 没有错误。但它是相同的变体还是我应该写前一个?
【问题讨论】:
-
stackoverflow.com/questions/34245932/… 回答你的问题了吗?
标签: go