Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么golang用括号表示字节片,用括号表示字符串片?_Go_Byte_Slice - Fatal编程技术网

为什么golang用括号表示字节片,用括号表示字符串片?

为什么golang用括号表示字节片,用括号表示字符串片?,go,byte,slice,Go,Byte,Slice,我一直想知道为什么在golang中使用括号创建字节片: []字节(“foo”) 使用括号表示法创建字符串片段时: []字符串{“foo”,“bar”} 使用括号是否仅仅是因为表达式需要单个值(例如字符串“foo”),因此括号用作“分组”语法 注意:用“组”或“分组”来定义这种行为对我来说很可能是不正确的,但我没有更好的词来表达我的想法 我这样认为是因为golang在分组意义上也使用括号来表示类型断言I.(T)和指针解引用(*p).z这是错误的 []字节(“任意字符串”)实际上是从字符串类型

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

[]字节(“foo”)
使用括号表示法创建字符串片段时:

[]字符串{“foo”,“bar”}
使用括号是否仅仅是因为表达式需要单个值(例如字符串
“foo”
),因此括号用作“分组”语法

注意:用“组”或“分组”来定义这种行为对我来说很可能是不正确的,但我没有更好的词来表达我的想法


我这样认为是因为golang在分组意义上也使用括号来表示类型断言
I.(T)
和指针解引用
(*p).z

这是错误的

  • []字节(“任意字符串”)
    实际上是从
    字符串
    类型到
    []字节
    (字节的切片类型)的类型转换,其返回类型是
    []字节
  • []字符串{“string0”、“string1”、…}
    实际上是
    字符串的
    片段

参数是一个
T(v)
,也就是说,要将字符串转换为字节片,需要执行
[]字节(“foo”)
。花括号是。您也可以使用复合文字
[]字节{f','o','o'}
来构造字节片。是的,请注意,在创建字节片
[]字节
时,后面并没有列出字节值,而是列出单个
字符串
值。文字应该是这样的:
[]字节{1,2,3}
[]字节{f',o',o'}
。哦!我懂了。现在有道理了。非常感谢。