Golang 教程
Golang 控制语句
Golang 函数 & 方法
Golang 切片 & 数组
Golang 结构体
Golang 字符串
Golang 接口
Golang 指针
Golang 并发
Golang 异常(Error)
Golang 其他杂项

Go 语言指针比较

时间:2023年06月10日 阅读:217
以下内容仅是站长或网友个人学习笔记、总结和研究收藏。不保证正确性,因使用而带来的风险与本站无关!
淘客轩-衣食住行外卖生活好助手

在Go语言中,允许比较两个指针。两个指针值只有在它们指向内存中的相同值或者它们是nil时才相等。您可以在Go语言提供的==和!=运算符的帮助下对指针进行比较:

1. == 运算符:如果两个指针都指向同一个变量,则此运算符返回true。或如果两个指针都指向不同的变量,则返回false。

语法:

pointer_1 == pointer_2
package main

import "fmt"

func main() {

    val1 := 2345
    val2 := 567

    //创建和初始化指针
    var p1 *int
    p1 = &val1
    p2 := &val2
    p3 := &val1

    //使用==运算符比较指针
    res1 := &p1 == &p2
    fmt.Println("p1指针是否等于p2指针: ", res1)

    res2 := p1 == p2
    fmt.Println("p1指针是否等于p2指针: ", res2)

    res3 := p1 == p3
    fmt.Println("p1指针是否等于p3指针: ", res3)

    res4 := p2 == p3
    fmt.Println("p2指针是否等于p3指针: ", res4)

    res5 := &p3 == &p1
    fmt.Println("p3指针是否等于p1指针: ", res5)
}

输出:

p1指针是否等于p2指针:  false
p1指针是否等于p2指针:  false
p1指针是否等于p3指针:  true
p2指针是否等于p3指针:  false
p3指针是否等于p1指针:  false

2.!= 运算符:如果两个指针都指向同一个变量,则此运算符返回false。或如果两个指针都指向不同的变量,则返回true。

语法:

pointer_1 != pointer_2
package main

import "fmt"

func main() {

    val1 := 2345
    val2 := 567

    //创建和初始化指针
    var p1 *int
    p1 = &val1
    p2 := &val2
    p3 := &val1

    // 使用 != 运算符比较指针
    res1 := &p1 != &p2
    fmt.Println("p1指针不等于p2指针吗: ", res1)

    res2 := p1 != p2
    fmt.Println("p1指针不等于p2指针吗: ", res2)

    res3 := p1 != p3
    fmt.Println("p1指针不等于p3指针吗: ", res3)

    res4 := p2 != p3
    fmt.Println("p2指针不等于p3指针吗: ", res4)

    res5 := &p3 != &p1
    fmt.Println("p3指针不等于p1指针吗: ", res5)
}

输出:

p1指针不等于p2指针吗:  true
p1指针不等于p2指针吗:  true
p1指针不等于p3指针吗:  false
p2指针不等于p3指针吗:  true
p3指针不等于p1指针吗:  true
打赏

本文地址:https://www.momojc.cn/golang/go-comparing-pointers.html

关于本站 | 隐私政策 | 免责声明 | 广告合作 | 我要投稿 | 后台管理

CopyRight © 2023-2024 MOMO教程 WWW.MOMOJC.CN , All Rights Reserved.

站长E-mail:378074730@qq.com 网站已运行:  运行时长:0.039 秒

京ICP备20029690号-1京ICP备20029690号-2 京公网安备11011402013892号京公网安备11011402013892号 中国互联网违法和不良信息举报中心 网络违法犯罪举报网站

本网站托管于 腾讯云 .由网站卫士提供网站加速和攻击防御服务 提供CDN加速/防御服务.由zblogcn强力驱动 又拍云提供CDN加速/云存储服务 51la网站统计