//定义变量a,a只在if语句中有效 if a : = 1; a > 1 { fmt.Println("a > 1") } else { if a : = 10; a > 1 { fmt.Println(a) //结果为10,和C语言变量作用域一致 } else { fmt.Println(a) } } for的三种形式 func main() { count: = 3 for i : = 0; i < count; i++ { //经典形式 fmt.Println(i) } i: = 0 for i < count{ //类似c中的while,只带终止条件 fmt.Println(i) i++ } i = 0 for { //死循环 if i < count{ fmt.Println(i) i++ } else { break } } } switch用法: func main() { count: = 1 switch count{ case 1: fmt.Println(count) fallthrough //继续检查下一个case,屏蔽break功能 case 2: fmt.Println(count) //case自带break功能 case 3: fmt.Println(count) default: fmt.Println(count) } } func main() { count: = 1 switch { //switch不带常量,和c中if……else if……esle作用一致 case count == 1: //case需要使用逻辑表达式 fmt.Println(count) fallthrough //继续检查下一个case,屏蔽break功能 case count <= 1: fmt.Println(count) //case自带break功能 case count >= 1: fmt.Println(count) default: fmt.Println(count) } } break和标签 func main() { J: for j : = 0; j < 5; j++ { for i : = 0; i < 10; i++ { if i > 6 { break J //标签J位于第一层for循环,break J相当于跳出第一层for循环 } fmt.Println(i) } } } continue与标签 func main() { J: for j : = 0; j < 5; j++ { fmt.Println("--------") for i : = 0; i < 10; i++ { if i > 6 { continue J //标签J位于第一层for循环,continue J相当于跳过其之后的语句并且跳转到第一层for继续执行第一层循环(第一层循环条件j的值仍然递增) } fmt.Println(i) } fmt.Println("+++++++") //continue的时候第一层循环体内的语言也不会被执行,注意与C的区别 } } goto与标签 func main() { J: for j : = 0; j < 5; j++ { fmt.Println("--------") for i : = 0; i < 10; i++ { if i > 6 { goto J //goto到第一层for循环,j的值被重新赋值为0,此时循环为无限循环,与continue的区别在于:continue继续执行循环,goto重新开始循环 } fmt.Println(i) } fmt.Println("+++++++") } } 使用goto的时候仍然要注意,避免死循环,goto尽可能到其后的代码网站建设哪家好,找创新互联!专注于网页设计、网站建设、微信开发、小程序制作、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了巴马免费建站欢迎大家使用!
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。