令人困惑的是,Go Routines 的通道内是啥 [关闭]

Posted

技术标签:

【中文标题】令人困惑的是,Go Routines 的通道内是啥 [关闭]【英文标题】:Confusing, what is this inside the channel in Go Routines [closed]令人困惑的是,Go Routines 的通道内是什么 [关闭] 【发布时间】:2021-07-29 03:14:15 【问题描述】:

计划:

package main
import (
"fmt"
)
func main() 
ch := make(chan int)
fmt.Println(ch)
fmt.Println(0xc000062060)

输出:

0xc00009e000
824634122336

该输出 (824634122336) 是什么意思? 我认为(0xc00009e000)是一个通道的起始地址。

如果(0xc00009e000 是通道地址)

那请告诉我这是什么 (824634122336)

其他

那么请说出那些输出是什么。

【问题讨论】:

0xc000062060 是十进制的 824634122336。 (所以824634122336 是您调用fmt.Println(0xc000062060) 时看到的输出。是的,打印这样的chan 只会打印它的地址。 哦,谢谢@DarshanRivkaWhittle,我想知道地址,它是什么,为什么会这样,系统对地址的处理方式不同,我们可以用这些地址做什么,它将在哪里有帮助,我想了解有关地址的更多见解,您能帮帮我吗? @Nellai 频道的地址没什么有趣的。你不能从那个地址学到任何东西。 【参考方案1】:

0xc00009e000 是一个十六进制值824634122336。所以824634122336 不是频道中的值。

fmt.Println(0x10) //Output: 16

在软件计算中,加“0x”前缀表示十六进制数。

参考这个why-are-hexadecimal-numbers-prefixed-with-0x

【讨论】:

以上是关于令人困惑的是,Go Routines 的通道内是啥 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

Java中隐藏的方法是啥?甚至 JavaDoc 的解释也令人困惑

go语言--Goroutines

下载后如何安装go包?

";" 是啥意思?在“if”块内是啥意思? [复制]

反应组件组成但令人困惑

docker运行“--cpus”标志令人困惑