Go的if,for,switch跟C的区别
有过C基础的人,都知道if、for、switch的条件语言都是有括号的。基本格式:
if(条件判断语言) {}
for(语句1;语句2;语句3) {}
switch(语句){}
在go中,这些语法规则跟C还是有差别,概括为一句话就是去掉了括号。语法规则如下:
if 语句 {}
for 语句1;语句2;语句3 {}//跟C一样,这三个语句可以省掉任何一个语句
switch 语句 {}
区别其实很简单。正由于没有了括号,导致他们与C有了更多的功能。
if
if 还有一个强大的地方就是条件判断语句里面允许声明一个变量,这个变量的作用域只能在该条件逻辑块内,其他地方就不起作用了。
if x:=getXdata(); x>10 {
//x的作用域只在这个括号里有作用,除了括号就不起作用了。
}
for
C语言中有while、do-while循环语句。go是没有的,那怎么实现呢。看下面:
sum:=1
for ;sum<100;{}
或者省略;
for sum<100 {}
哈哈,简单吧。
goto
跟C的语法规则一样。
func testFunc(){
...
Here: //以冒号结束作为标签
...
goto Here//跳转到Here处