学习ing,所以各种用法测试....
感觉是bug,但是不确定
红框中哪个是00i字母i....字母i....
有疑问加站长微信联系(非本文作者)
入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889
我想知道int型前面带00有何意义。。。直接写数字123不就行了。。你这样写索引还麻烦,你总不可能i那里定义为000?然后i++?噗。所以你这里索引00i貌似完全无效吧。。。索引里面怎么可能有自动连接00和i变量所代表的数字这种方法存在。。。反正我是没见过
首先 001,002,003 这种字面量在golang中应该当八进制数来处理。其次 00i并不等于i, 00i 是一个复数类型,直接用用i做索引吧
map 本身是没有顺序的, 一般遍历map都会用 for range 来遍历
这不是bug,00i是一个复数类型这里的i并不是你循环中的变量,你可以看下复数定义
首先 00 开头是八进制的;
func TestForMap(t *testing.T) { myMaps := map[int]string{ 001: "c++", 002:"java", 003:"golang", //009:"objective-c", //error } for k, v := range myMaps { t.Log(k, v) } myMaps[001] = "one" myMaps[002] = "two" myMaps[003] = "three" for i := 0; i < len(myMaps); i++ { t.Log(00i) } }
可以看到最后的输出并不是 i;而是如下的结果:
baseController_test.go:60: 3 golang baseController_test.go:60: 1 c++ baseController_test.go:60: 2 java baseController_test.go:68: (0+0i) baseController_test.go:68: (0+0i) baseController_test.go:68: (0+0i)
`单行代码`
我想知道int型前面带00有何意义。。。直接写数字123不就行了。。你这样写索引还麻烦,你总不可能i那里定义为000?然后i++?噗。所以你这里索引00i貌似完全无效吧。。。索引里面怎么可能有自动连接00和i变量所代表的数字这种方法存在。。。反正我是没见过
首先 001,002,003 这种字面量在golang中应该当八进制数来处理。其次 00i并不等于i, 00i 是一个复数类型,直接用用i做索引吧
map 本身是没有顺序的, 一般遍历map都会用 for range 来遍历
这不是bug,00i是一个复数类型这里的i并不是你循环中的变量,你可以看下复数定义
首先 00 开头是八进制的;
可以看到最后的输出并不是 i;而是如下的结果: