gpt4 book ai didi

go - 为什么golang对 byte slice 使用括号,对字符串片使用括号?

转载 作者:行者123 更新时间:2023-12-01 22:31:11 25 4
gpt4 key购买 nike

我一直想知道为什么在golang中使用括号创建字节的片段:

[]byte("foo")

使用括号表示法创建字符串片段时:

[]string{"foo", "bar"}

是否仅因为表达式需要单个值(例如,字符串 "foo")而使用括号,所以将括号用作“分组”语法?

注意:就我而言,使用“组”或“分组”来定义此行为很可能是不正确的,但我没有更好的词来表达我的想法。

我推测是因为golang在分组意义上也使用括号来表示类型断言 i.(T)和用于指针取消引用 (*p).z的事情。

最佳答案

您错了。

  • []byte("any_string")实际上是从string类型到[]byte(字节的 slice 类型)的类型转换,其返回类型是[]byte
  • []string{"string0", "string1", ...}实际上是slice s“string0”,“string1”,...
  • string

    关于go - 为什么golang对 byte slice 使用括号,对字符串片使用括号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60280425/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com