为什么golang的for循环后的大括号必须跟在for关键字后面

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

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

for i := 0; i < 10; i ++; //注意此处的分号
{
    ...
}
时间: 2024-10-10 06:11:53

为什么golang的for循环后的大括号必须跟在for关键字后面的相关文章

golang的for循环后的大括号必须跟在for关键字后面

这是由于golang的编译器导致的. Go语言不需要在语句或者声明的末尾添加分号,除非一行上有多条语句.实际上,编译器会主动把特定符号后的换行符转换为分号,所以如果for的左花括号放在了下一行的开始处则会被编译器解析为 for i := 0; i < 10; i ++; //注意此处的分号 { ... } import "fmt" func main() { fmt.Println("hello world") } 上面的代码编译时会出现错误 1) missi

golang range for循环中如何正确的给goroutine传参

1.code example 公共方法 func testDomain(ii string) { time.Sleep(time.Second * 4) fmt.Printf("pid: %d___point addr: %d___%s \n", GoID(), &ii, ii) } func GoID() int { var buf [64]byte n := runtime.Stack(buf[:], false) idField := strings.Fields(str

模式扫描与处理语言--awk

写在前面: 博客书写牢记5W1H法则:What,Why,When,Where,Who,How. 本篇主要内容: ● awk 简介: CentOS中所用的awk是指Gawk,即GNU AWK.是由Aho, Kernighan, and Weinberger三位开发的,是早起UNIX上awk的延伸. awk工作模式: awk是由主循环脚本和循环体前后脚本三部分组成的. 主循环:从文件第一行开始,对每一行进行处理操作,直到最后一行或用户手动终止(使用了exit命令). 循环前:在脚本前添加BEGIN关

Golang for 循环中使用goroutine

最近在开发过程中遇到问题,追踪了很久后发现是golang的经典问题,在for循环中使用了goroutine,在goroutine中使用了for循环的参数. 问题现象: 在使用rabbitmq进行数据传递时,发送端在一次循环中发送了8000条id不同的数据到rabbitmq的队列中,接收端监听该队列并从rabbitmq中取数据.接收到的数据在程序中处理后写入数据库,结果发现数据中并没有写入8000条数据.最后定位原因为:在接收数据时在for循环中使用go协程,导致同时收到两条数据时,协程都是使用的

Python问题求助--如何将循环程序中每次输入的数据循环使用,即退出当前循环程序后,再次运行该循环程序时可以使用原先输入的数据信息?

1 card_list = [] 2 3 4 def main_desk(): 5 print('*'*50) 6 print('欢迎使用[名片管理系统]V1.0') 7 print('1.新建名片') 8 print('2.显示全部') 9 print('3.查询名片') 10 print('0.退出系统') 11 print('*'*50) 12 13 14 def new_card(): 15 print('新建名片') 16 print('='*50) 17 name_str = inp

JAVA for循环

java for循环就是,对于某些操作,人为地控制循环次数.最简单的,比如打印数字. 举例: 遍历数组 1 2 3 4 int[] a = new int[]{1,2,3,4,5,6,7,8,9,10,11,12};      for(int iloop : a){      System.out.println(iloop); } 2.while结构循环为当型循环(when type loop),一般用于不知道循环次数的情况.维持循环的是一个条件表达式,条件成立执行循环体,条件不成立退出循环.

golang: 常用数据类型底层结构分析

虽然golang是用C实现的,并且被称为下一代的C语言,但是golang跟C的差别还是很大的.它定义了一套很丰富的数据类型及数据结构,这些类型和结构或者是直接映射为C的数据类型,或者是用C struct来实现.了解golang的数据类型和数据结构的底层实现,将有助于我们更好的理解golang并写出质量更好的代码. 基础类型 源码在:$GOROOT/src/pkg/runtime/runtime.h .我们先来看下基础类型: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1

04 循环结构概述和for语句的格式及其使用

04.01_Java语言基础(循环结构概述和for语句的格式及其使用) A:循环结构的分类 for,while,do-while B:循环结构for语句的格式: for(初始化表达式;条件表达式;循环后的操作表达式) { 循环体; } C执行流程: a:执行初始化语句 b:执行判断条件语句,看其返回值是true还是false 如果是true,就继续执行 如果是false,就结束循环 c:执行循环体语句; d:执行循环后的操作表达式 e:回到B继续. D:案例演示 在控制台输出10次"hellow

(7)javascript的程序控制结构及语句------(2)循环控制语句、跳转语句、对话框

一.循环控制语句 循环语句主要就是在满足条件的情况下反复执行某一个操作,循环控制语句主要包括while语句.do...while语句 和for语句. 1.While语句 语法: While(条件表达式语句) { 执行语句块 } 当"条件表达式语句"的返回值为true时,则执行大括号"{ }"中的语句块,当执行完大括号"{ }"的语句块后,再次检测条件表达式的返回值,如果返回值还为true,则重复执行大括号"{ }"中的语句块,