Golang - 为什么 ItoA 在返回字符串时总是删除初始 0

我试图获取整数长度来询问固定长度的引脚,并尝试将整数转换为字符串,但我遇到了这个问题,下面是示例:


package main


import (

    "fmt"

    "strconv"

)


func main() {

    inter := 034567


    fmt.Println(strconv.Itoa(inter))

}

输出


14711

这是 golang 播放代码:https://play.golang.org/p/r87zeRaoZ23


我想知道如何处理它的原因,以及是否有另一种解决方案来处理此类情况。


当年话下
浏览 71回答 1
1回答

临摹微笑

034567是一个整数文字,更具体地说是一个八进制文字。引用规范:整数文字:整数文字是表示整数常量的数字序列。可选前缀设置非十进制基数:0bor0B表示二进制,0, 0o, or0O表示八进制,and 0xor0X表示十六进制。单个0被视为十进制零。在十六进制文字中,字母athroughf和AthroughF表示值 10 到 15。八进制034567=14711十进制。您不能在源代码中int保留您提供的数字。0如果这是一个要求,请使用其他类型,例如string.如果删除前导0: inter := 34567,则输出将为34567.
打开App,查看更多内容
随时随地看视频慕课网APP