欢迎加入GolangRoadmap,一个年轻的GO开发者社区https://www.golangroadmap.com/,目前是邀请制注册,注册码:Gopher-1035-0722

和C一样,Go的正式语法使用分号来结束语句;和C不同的是,这些分号并不在源码中出现。 取而代之,词法分析器会使用一条简单的规则来自动插入分号,因此源码中基本就不用分号了。

规则是这样的:若在新行前的最后一个标记为标识符(包括 int 和 float64 这类的单词)、数值或字符串常量之类的基本字面或以下标记之一

break continue fallthrough return ++ -- ) }

则词法分析将始终在该标记后面插入分号。这点可以概括为: “如果新行前的标记为语句的末尾,则插入分号”。

分号也可在闭括号之前直接省略,因此像

    go func() { for { dst <- <-src } }()

这样的语句无需分号。通常Go程序只在诸如 for 循环子句这样的地方使用分号, 以此来将初始化器、条件及增量元素分开。如果你在一行中写多个语句,也需要用分号隔开。

警告:无论如何,你都不应将一个控制结构(if、for、switch 或 select)的左大括号放在下一行。如果这样做,就会在大括号前面插入一个分号,这可能引起不需要的效果。 你应该这样写

if i < f() {g()
}

而不是这样写

if i < f()  // 错误!
{           //  错误!g()
}

高效GO语言编程(4)——分号相关推荐

  1. 飞思卡尔单片机编程与c语言,飞思卡尔单片机高效C语言编程(中文)

    高效C语言编程实验,包括:CodeWarrior的使用.中断.数据段的定义.常量数据段.变量.位操作.数组.指针.函数内的自变量.优化方法.Manual Optimization(手工优化).Proc ...

  2. c语言开发移动通信,基于ARM的高效C语言编程

    引言 ARM处理器以其高性能.低功耗.低成本等优势被广泛应用于各种成功的32位嵌入式系统中.提高执行速度和减小代码尺寸是嵌入式软件设计的关键需求.尽管大多数的ARM编译器和调试器都带有性能优化工具,但 ...

  3. 高效GO语言编程-代码注释

    更多免费Golang知识,欢迎加入Go宝典 | GOLANG ROADMAP 邀请码:Gopher-1035-0722 Go 语言支持C风格的块注释 /* */ 和C++风格的行注释 //. 行注释更 ...

  4. 高效GO语言编程(9)——空白标识符

    欢迎加入GolangRoadmap,一个年轻的GO开发者社区https://www.golangroadmap.com/,目前是邀请制注册,注册码:Gopher-1035-0722,已开放GO内推,G ...

  5. R语言编程的高效方法

    R语言编程的高效方法 R语言编程的高效方法 高效编程之细节知识点 并行计算 1.查看核数 2.可以使用并行计算的场景 3.Parellel 包 R语言编程的高效方法 学习资料来源: datacamp ...

  6. 不同设备如何统一语言编程平台高效开发?本文为你揭秘

    原文:不同设备如何统一语言编程平台高效开发?本文为你揭秘,点击链接查看更多技术内容. 随着数字化时代的发展,手机.平板.PC.电视.智能手表.车机等智能设备的普及率越来越高,但不同设备往往搭载了不同的 ...

  7. 用C语言实现高效嵌入式系统编程

    1引言     随着市场竞争的日趋激烈,要求电子工程师能够在短时间内编写出执行效率高而又可靠的嵌入式系统的执行代码.同时,由于实际系统的日趋复杂,要求所写的代码规范.模块化并便于多个工程师以软件工程的 ...

  8. C语言编程规范 学习笔记

    C语言编程规范 一.代码总体原则 1.清晰 2.简洁 3.选择适合的风格,与代码原有风格保持一致 二.头文件 背景 术语定义 原则 2.1 头文件中适合放置接口的声明,不适合放置实现 原则 2.2 头 ...

  9. Go语言编程入门超级指南

    Go语言编程入门超级指南 1.序言 Golang作为一门出身名门望族的编程语言新星,像豆瓣的Redis平台Codis.类Evernote的云笔记leanote等. 1.1 为什么要学习 如果有人说X语 ...

  10. c语言编程基础课件,C语言编程基础课件.ppt

    第1章. C语言编程. 本章的重点是C的特性. C的历史. C的结构. 在计算机上运行C的方法. 2.1 C的历史. 2.2 C的特征. 2.3 C的组成C结构示例2查找两个数字的和#include ...

最新文章

  1. 限制页面只能在框架页中
  2. 中介者模式(Mediator Pattern)
  3. Spring Boot自定义错误页面
  4. lisp捕捉垂足_定位-'Cal计算器
  5. C语言课后习题(38)
  6. JDBC是什么?和JDBC程序的基本编写
  7. 介绍4个大神常用而你不常用的python函数--assert,map,filter,reduce
  8. 解决requests.text乱码问题content.decode()
  9. mysql主从复制不同步案例_mysql主从复制不同步的问题
  10. 洛谷OJ - P1192 - 台阶问题(递推)
  11. Cmder安装并解决cmder here报错问题
  12. CTFMON。exe
  13. 你所不知道的我国交通工程早期经历了怎样的发展?
  14. 2015QS世界大学排名-[转]
  15. java根据出生日期计算年龄_通过出生日期获取年龄的方法--Java
  16. Excel 图表与数据透视表制作
  17. 过了技术面却在HR面被刷?必备40问!从容应对HR,斩获N多大厂offer!
  18. MySQL--自然连接的用法
  19. 搞清楚 Python traceback
  20. 计算机学院 运动会稿,学院运动会加油稿

热门文章

  1. 光谱分析软件_[Howtodowx]OMNIC红外光谱分析软件
  2. 光谱分辨率单位_【ENVI入门系列】16.基本光谱分析
  3. Linux下wine最新版源码编译
  4. 数电设计--交通灯控制系统
  5. ICPC World Finals 2015 D题 - Cutting Cheese 【二分答案】【球缺体积公式】
  6. matlab interp1 spline,中国大学MOOC: MATLAB/Octave函数interp1中有一个描述插值方法的参数,其中spline表示...
  7. vtp协议服务器配置,VTP协议
  8. 职称计算机为啥要现场拍照,网上确认/现场确认的照片还没拍?你需要这份拍照攻略!...
  9. java的jar是什么文件_jar是什么意思,jar文件怎么打开?
  10. 如何进行航拍全景摄影(上)