进行自动类型转换-将界面{}与具体类型进行比较

问题描述 投票:0回答:1

如果我想比较两种类型-stringinterface {}我通常写:

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)!=字符串时的保存变体。但是如果我写是正确的吗?

package main

import "log"

func main() {
    var p1 interface{}
    var p2 string

    p1 = "123"
    p2 = "123"

    log.Println(p1 == p2)
}

如果type(p1)!=字符串,则没有错误。但这是相同的变体,还是我应该写上一个?

如果我想比较两种类型-字符串和接口{},我通常会写:package main import“ log” func main(){var p1 interface {} var p2 string p1 =“ 123” p2 =“ 123”如果v ,...

go
1个回答
2
投票

您当前问题的简短答案是

© www.soinside.com 2019 - 2024. All rights reserved.