package maintype contactInfo struct { number int email string}type person struct { firstName string lastName string contact contactInfo}func main() { user1 := person{ firstName: "Anthony", lastName: "Martial", contact: contactInfo{ number: 07065526369, email: "tony@gmail.com", }, } fmt.Println(user1)}当我为变量“数字:07065526369”分配一个值时,出现一个错误,说“八进制文字中的无效数字'9'”,我试图找出一种方法来防止它通过将该数字设为基数 10 而不是以 8 为底,因为我认为 Go 会自动将任何以零开头的数字视为八进制
1 回答
达令说
TA贡献1821条经验 获得超6个赞
即使Go 1.13引入了整数文字的更改,您int
仍然会被解释为八进制(其中不能有 '9',因此会出现错误消息)
八进制整数文字:前缀
0o
or0O
表示八进制整数文字,例如0o660
. 由前导后跟八进制数字
指示的现有八进制表示法仍然有效。0
任何处理电话号码的 Go 库都会将其存储为字符串。
并且该数据可以比一个字符串更详细。
例如dongri/phonenumber
,将遵循ISO 3166 国家代码标准,结构如下:
type ISO3166 struct { Alpha2 string Alpha3 string CountryCode string CountryName string MobileBeginWith []string PhoneNumberLengths []int}
这比 int 更安全,并提供更好的验证。
- 1 回答
- 0 关注
- 150 浏览
添加回答
举报
0/150
提交
取消