我试图从Go Tour中了解这个例子 第3行的最后一个逗号有什么意义
fmt.Println(
pow(3, 2, 10),
pow(3, 3, 20),
)
换行符通常如何修改go中的代码。
我知道,如果没有换行符,我可以将此声明写为
fmt.Println( pow(3, 2, 10), pow(3, 3, 20) )
它会编译。
那么,为什么换行需要额外的逗号
答案 0 :(得分:2)
自动""添加;
作为声明的结尾。
所以
fmt.Println(
pow(3, 2, 10),
pow(3, 3, 20),
)
与
相同fmt.Println(
pow(3, 2, 10),
pow(3, 3, 20),
);
但是
fmt.Println(
pow(3, 2, 10),
pow(3, 3, 20)
)
与
相同fmt.Println(
pow(3, 2, 10),
pow(3, 3, 20);
);
这是一个明显的语法错误。
答案 1 :(得分:0)
没有意义。在函数调用中允许使用尾随逗号,但FILE *fp = fopen( filename, "rb+" );
// disable buffering
setbuf( fd, NULL );
// fork() here???
// loop until the desired char value is read from the file
for ( ;; )
{
char data;
// with fread(), we need to fseek()
fseek( fp, 0, SEEK_SET );
int result = fread( &data, 1, 1, fp );
if ( result != 1 )
{
break;
}
if ( data == 'a' )
{
data = 'b';
fseek( fp, 0, SEEK_SET );
fwrite( &data, 1, 1, fp );
break;
}
}
fclose( fp );
将删除它们。