文章目录

文章目录

go语言中默认用换行来表示语句结束,那么能不能用分号来代替换行呢?

package main

import (

"fmt"

)

func main() {

fmt.Println("hello world")

main函数的左花括号必须在main同行,否则出错. 为什么go语言要这么玩呢? 这是为了在语言层面强制让所有使用者统一编程规范.

看看go圣经中的原话, 我来手动打一下: In effect, newlines following certain tokens are converted into semicolons, so where newlines are placed matters to proper parsing of Go code

什么意思? 假设你把go程序写为:

package main

import (

"fmt"

)

func main()

{

fmt.Println("hello world")

}

编译不过, 为什么呢? 从上面那句英语可知, 上面的程序实际上被转化为:

package main

import (

"fmt"

)

func main();

{

fmt.Println("hello world");

显然, main后面多了分号,相当于一个函数丢掉了函数体, 这是编译器不允许的.

现在问题是, 什么时候会自动加入分号呢? 可以看看这个规则

当输入被断开为标记时,如果行末标记为:

一个标识符

一个整数、浮点数、虚数、字符或字符串文字

关键字break、continue、fallthrough或return中的一个

运算符和分隔符++、--、)、]或}中的一个

则分号将被自动插入到标记流中非空白行的末尾

所以, 我们可以知道, 如下go程序是正确的:

package main

import (

"fmt"

)

func add(x, y int) int {

return x + y;

}

func main() {

fmt.Println("main")

i := 3 ; j := 2

fmt.Println(i, j)

add(i,

j)

}

注意:在调用add函数时, 系统不会在add那一行后面加上分号

c语言换行用分号代替,go语言换行的地方可以用分号替代吗?相关推荐

  1. c语言注释语句执行吗,C语言学习笔记之C语言概念解析(附资料分享)每一个语句都必须以分号结尾但预处理命令函数头和花括号“}”之后不能加分号...

    [[怪兽爱C语言]C语言学习笔记之C语言概念解析(附资料分享)]https://toutiao.com/group/6582429294901854728/?iid=15906422033&a ...

  2. C语言编辑换行符怎么打,c语言中的换行符怎么打

    2016-08-12 15:54辛国海 客户经理 C语言中回车,换行,空字符与空格:fgets和gets在读取换行符的区别 摘要:C语言中,我们常常从终端输入,并且输出到终端,键盘上的回车,输入到缓冲 ...

  3. 【C语言】putchar(10);为何是换行:简单明了讲解 (外加putchar与puts函数区别)

    在查询为何putchar(10)是换行,发现本站均无回答的,都是说其用法.现在在此讲解一下: (首先了解函数功能,和区别是否自定换行) putchar();输出的是字符,但不自带换行功能. puts( ...

  4. c语言中分号作用,c语言中的语句之间必须用分号作为分隔符吗?_后端开发

    c言语中的语句之间必需用分号作为分隔符吗? c言语中的语句之间必需用分号作为分隔符. 在 C 程序中,分号是语句完毕符.每一个语句必需以分号完毕.它表明一个逻辑实体的完毕. C言语中分号被用作为语句完 ...

  5. c语言既适合于开发,C语言试题及答案 (1)

    C语言试题及答案 (1) 文章<C语言试题及答案 (1)>是由[作文仓库]的会员[我这么冷你怕不怕]为大家整理并分享的,仅供大家参考,欢迎阅读! 第1章 C语言概述习题 1. 单项选择题 ...

  6. c语言关键字不做标识符,C语言标识符、关键字、注释、表达式和语句

    这一节主要讲解C语言中的几个基本概念. 标识符 定义变量时,我们使用了诸如 a.abc.mn123 这样的名字,它们都是标识符(Identifier). 标识符就是程序员自己起的名字,除了变量名,后面 ...

  7. C语言13567星号如何输出,c语言程序编程心得

    c语言程序设计 本课介绍c语言程序设计的基本方法和基本的程序语句. 从程序流程的角度来看,程序可以分为三种基本结构,即顺序结构.分支结构.循环结构.这三种基本结构可以组成所有的各种复杂程序.c语言提供 ...

  8. c语言第1章ppt,c语言第1章课件.ppt

    <c语言第1章课件.ppt>由会员分享,可在线阅读,更多相关<c语言第1章课件.ppt(30页珍藏版)>请在人人文库网上搜索. 1.第1章 C语言概述,计算机中心,C 语言程序 ...

  9. C语言 const 和 define 区别 - C语言零基础入门教程

    目录 一.const 使用 1.const 修饰变量 2.const 修饰指针 3.const 修饰在函数名前面 4.const 修饰在函数名后面 5.const 修饰函数参数 二.define 使用 ...

  10. c语言练习书,谁有C语言入门的练习题?

    一.选择题 1.下述标识符中,()是合法的用户标识符. A.A#C B.getch C.void D.ab* 2.在C语言中,字符型数据在内存中是以()形式存放的. A.原码 B.BCD码 C.反码 ...

最新文章

  1. 关于JQuery中的ajax请求或者post请求的回调方法中的操作执行或者变量修改没反映的问题...
  2. linux 磁盘扩容_当LINUX服务器磁盘空间不够时如何进行磁盘扩容?
  3. 008_Maven Eclipse
  4. 组合模式——透明组合模式,安全组合模式
  5. HarmonyOS之剪贴板的功能和使用
  6. 浅析row_number()函数【HQL】
  7. Flask设置返回json格式数据
  8. 关于windows窗体应用程序 1117
  9. spring Boot环境下dubbo+zookeeper的一个基础讲解与示例
  10. Sublime Text 3 注册码失效(被移除)解决方法
  11. Android Studio Prettify 插件
  12. 计算机一级windows7操作,高校计算机一级考试指导书(Windows7+Office2010)
  13. oracle vm virtualbox安装后会一直重启,并且installation destination显示磁盘不够,让重建分区
  14. 期刊分类(CN,ISSN,A,B,C类)
  15. php安装xmeet,XMeet下载-XMeet官方版下载V1.8.4-99wo下载站
  16. 计算机上画正比例函数,信息技术应用 用计算机画函数图象教案1
  17. 【C/C++牛客每日必刷】--- 牛客刷题系列
  18. TEM一维正演matlab,大地电磁学chp3一维正演.ppt
  19. 富士施乐再推“中国定制”新品 引领中小企业智能化移动办公潮流
  20. 【在线支付】在线支付代码详解

热门文章

  1. switch系统升级无法连接服务器失败,switch更新无法连接服务器(图文)
  2. 计算机课做名片怎么做,第7课制作个人小名片(教学设计)
  3. python应纳税额计算公式_起征点上调至5000后,最新、最简个税计算Excel公式来了!...
  4. 你有必要不沾计算机一段时间英语,八年级英语下册unit 1必背词组及句子(新人教版).docx...
  5. 使用CORS解决跨域问题
  6. Soul如何让年轻人的“灵魂”心甘情愿的买单?
  7. 利用python打乱xlsx表格
  8. “IndentationError: unindent does not match any outer indentation level“ 错误解决
  9. ICP算法详解——我见过最清晰的解释
  10. STM32/GD32 IAP/Bootloader升级APP研究以及编程实现、hex文件格式