美文网首页
比较运算

比较运算

作者: 突击手平头哥 | 来源:发表于2021-08-22 18:43 被阅读0次

    比较运算

    基础类型比较

    package main
    
    import "fmt"
    
    func  main() {
        var a = 1
        var b = 1
    
        if &a == &b {
            fmt.Println("pointer cmp")
        }
    
        if a == b {
            fmt.Println("value cmp")
        }
    
    }
    
    value cmp
    

    对于intbool等基础类型直接比较值相等,对于指针则是直接比较的指针所指向的地址是否相等

    字符串比较

    字符串的比较问题在C/C++Java中都是一个值得讨论的问题

    package main
    
    import "fmt"
    
    func  main() {
        var a = "a"
        var b = "a"
    
        if a == b {
            fmt.Println("string cmp")
        }
    
    }
    
    string cmp
    

    对于字符串类型也是直接比较的字符串内容是否相等

    结构体比较

    package main
    
    import "fmt"
    
    type st struct {
        v int
    }
    
    func  main() {
        var a = st{v: 10}
        var b = st{v: 10}
    
        if a == b {
            fmt.Println("string cmp")
        }
    
    }
    
    string cmp
    

    在go语言中会比较结构体的每一个参数来判断是否相等,所以结构体比较也是有意义的
    而且这里的比较对于匿名结构体也是一样的,而对于不同类型的结构体则会直接报错

    相关文章

      网友评论

          本文标题:比较运算

          本文链接:https://www.haomeiwen.com/subject/crrhiltx.html