如题,这是由于golang的编译器导致的。


Go语言不需要在语句或者声明的末尾添加分号,除非一行上有多条语句。实际上,编译器会主动把特定符号后的换行符转换为分号,所以如果for的左花括号放在了下一行的开始处则会被编译器解析为:

for i := 0; i < 10; i ++; //注意此处的分号
{
    ...
}