天天看点

Go语言基础:if,goto,for,switch

Go的if,for,switch跟C的区别

有过C基础的人,都知道if、for、switch的条件语言都是有括号的。基本格式:

if(条件判断语言) {}
for(语句;语句;语句) {}
switch(语句){}
           

在go中,这些语法规则跟C还是有差别,概括为一句话就是去掉了括号。语法规则如下:

if 语句 {}
for 语句;语句;语句 {}//跟C一样,这三个语句可以省掉任何一个语句
switch 语句 {}
           

区别其实很简单。正由于没有了括号,导致他们与C有了更多的功能。

if

if 还有一个强大的地方就是条件判断语句里面允许声明一个变量,这个变量的作用域只能在该条件逻辑块内,其他地方就不起作用了。

if x:=getXdata(); x> {
//x的作用域只在这个括号里有作用,除了括号就不起作用了。
}
           

for

C语言中有while、do-while循环语句。go是没有的,那怎么实现呢。看下面:

sum:=
for ;sum<;{}
或者省略;
for sum< {}
           

哈哈,简单吧。

goto

跟C的语法规则一样。

func testFunc(){
  ...
Here: //以冒号结束作为标签
  ...
  goto Here//跳转到Here处