Если я хочу сравнить два типа - 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, то ошибки не было. Но это тот же вариант или я должен написать предыдущий?