我正在尝试打印切片。文档说要与第 0 个元素的地址一起使用。这只给出了切片的地址。 用十六进制打印切片,我找不到阻止它的方法。fmt%p%q在 go 中打印切片时要使用的正确动词是什么?(我目前只使用%v,它的工作原理)func main() { slice := []int{0,1,2,3} fmt.Printf("slice: %p\n",slice)}//output is "slice: 0xc00007a000" or other memory address//using &slice[0] is no different. Using slice[0] gives a type error
1 回答
慕的地10843
TA贡献1785条经验 获得超8个赞
%v通常,这是一个不错的选择,但您也可以对切片元素使用说明符:
package main
import "fmt"
func main() {
{
s := []int{10, 20, 30, 40}
fmt.Printf("%d\n", s) // [10 20 30 40]
}
{
s := []byte{'e', 'a', 's', 't'}
fmt.Printf("%c\n", s) // [e a s t]
fmt.Printf("%s\n", s) // east
fmt.Printf("%q\n", s) // "east"
}
{
s := []string{"east", "west"}
fmt.Printf("%s\n", s) // [east west]
fmt.Printf("%q\n", s) // ["east" "west"]
}
}
- 1 回答
- 0 关注
- 85 浏览
添加回答
举报
0/150
提交
取消