为了账号安全,请及时绑定邮箱和手机立即绑定

使用 Printf 格式正确打印切片

使用 Printf 格式正确打印切片

Go
哔哔one 2022-08-30 21:29:25
我正在尝试打印切片。文档说要与第 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"]

   }

}


查看完整回答
反对 回复 2022-08-30
  • 1 回答
  • 0 关注
  • 85 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信