• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

go、java已经python中分号的使用

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

首先来可以一个简单的例子,在三种语言中的写法:
(1)python

a = 1
b = 2
if a > b:
    print("1>2")
else:
    print("1<2")

在python中,一条语句结束之后,一般情况是不加分号来收尾,但是你加上分号也行,不会报语法错误。

下面代码也是可执行的:

a = 1;
b = 2;
if a > b:
    print("1>2");
else:
    print("1<2");

 

 

(2)java

public class Hello {
    public static void main(String[] args) {
        int a = 1;
        int b = 2;
        if (a > b) {
            System.out.println("1>2");
        } else {
            System.out.println("1<2");
        }
    }
}

在java中每一条语句结尾都需要使用分号(“;”)来结尾,否则就会报语法错误。

 

(3)go

package main

import "fmt"

func main() {
	a := 1
	b := 2
	if a > b {
		fmt.Println("1>2")
	} else {
		fmt.Println("1<2")
	}
}

在go中,与python类似,默认不加分号,加上也不会报错:

func main() {
	a := 1;
	b := 2;
	if a > b {
		fmt.Println("1>2");
	} else {
		fmt.Println("1<2");
	}
}

需要注意的是,在go圣经中有这么一句话:

In effect, newlines following certain tokens are converted into semicolons, so where newlines are placed matters to proper parsing of Go code. 

实际上,某些标记后面的换行符被转换成分号,因此换行符的位置关系到Go代码的正确解析。

意思就是在编译的时候会自动将换行符变成分号。

现在问题是, 什么时候会自动加入分号呢? 可以看看这个规则(注意上面英语中的certain tokens):

当输入被断开为标记时,如果行末标记为:
  a. 一个标识符
  b. 一个整数、浮点数、虚数、字符或字符串文字
       c. 关键字break、continue、fallthrough或return中的一个
       d. 运算符和分隔符++、--、)、]或}中的一个
则分号将被自动插入到标记流中非空白行的末尾

 

其次就是括号的使用,在java中,if判断语句必须要添加括号。而在go和python中可以加也可以不加。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Go语言实例化结构体——为结构体分配内存并初始化发布时间:2022-07-10
下一篇:
go+gin初体验发布时间:2022-07-10
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap