【30天熟悉Go语言】3 怀着Java看Go的编程规约

一、前言

在这里插入图片描述

Go系列文章:

  1. GO开篇:手握Java走进Golang的世界
  2. 2 Go开发环境搭建、Hello World程序运行

Go专栏传送链接:https://blog.csdn.net/saintmm/category_12326997.html

二、语法

1> 源文件以.go结尾

2> 程序的执行入口是main()函数

3> 严格区分大小写

4> 方法由一条条语句构成,每个语句后不需要加分号(GO会在每行后自动加分号)

5> GO编译器是一行行进行编译的,因此一行只能写一条语句(自己加上分号可以多条语句),否则会报错

6> 定义的变量或者import的包如果没有使用到,代码不能编译通过。

7> 标识符(变量名、方法名、等名字)定义规则:

  1. 三个组成部分:数字,字母,下划线_;汉字也是可以用,但是不建议使用;建议用字母

  2. 不能以数字开头,不能包含空格,不能使用Go中的保留关键字

  3. 下划线"_"本身在Go中是一个特殊的标识符,称为空标识符。它可以代表任何其它的标识符,但是其他标识符对应的值会被忽略(比如:忽略某个返回值);

    • 所以其能被作为占位符使用,不能单独作为标识符使用。
  4. 命名规则:

    1. 包名:尽量保持package的名字和目录名一致,不要和标准库有冲突;

      • package main 包:

        main包是一个程序的入口包,main函数所在的包建议定义为main包;如果不定义为main包,得不到可执行文件。

    2. 变量名、函数名、常量名 : 采用驼峰法(单词按照大写区分开)命名;

      • 利用首字母的大小写做权限控制:
        • 如果变量名、函数名、常量名首字母大写,则可以被其他的包访问;
        • 如果首字母小写,则只能在本包中使用。

8> import导入语句放在包声明语句的下面;

  • 导入的包名需要使用双引号包裹起来;
  • 注意使用GOPATH 和 GO Modules时import包的方式区别。近期专文介绍。

9> 大括号要成对出现,缺一不可。

Go和Java的语法区别

1> 语句后加分号?

  • Java每一条语句后都要加分号,Go可以不加分号

2> import未使用的包?定义未使用的变量?

  • Java允许import的包、定义的变量不使用,并且代码仍然可以编译通过,而Go代码不能编译通过。

3> 文件后缀名

  • Java源文件以java结尾、编译文件是.class结尾,多个.class打成的一个可执行文件是.jar结尾,.jar不能直接在windows和linux上执行,得用java命令在JVM中执行。
  • Go源文件以.go结尾,有main包main函数的情况下,.go文件打包成二进制对应操作系统的可执行程序,如:windows上.exe结尾的可执行程序。

4> 类库文件后缀名

  • Java的类库以.jar结尾;
  • Go 非main包没有main函数的程序 会被编译打包打成一个类库,以.a结尾;

注释

Go和Java一样也有两种注释类型:行注释、块注释(多行注释):

  1. 行注释 // (Goland快捷键:Ctrl+/ 再按一次取消注释)
  2. 块注释(多行注释) /**/ (Goland快捷键:Ctrl + Shift+ / 再按一次取消注释)
    • 注意:块注释中不可以嵌套块注释。

行注释更通用,块注释主要用于针对包的详细说明或者屏蔽大块的代码。

官方推荐使用行注释 //

Go和Java的注释区别

Go中的注释写法和Java中的基本一样。

  • 单行注释,两者相同,都是//

  • 块注释(多行注释),区别就在块注释

    • /**
      	Java多行注释
      */
      
    • /*
          Go的多行注释
      */
      

三、代码规范

Go的设计者想要开发者有统一的代码风格,风格不对会报错的哦。

1> 缩进:

  • 向后缩进(Tab)、向前取消缩进(Shift + Tab)
  • 命令行方式格式化(gofmt -w hello.go);如果不加-w,则格式化只是效果展示,不会写入到源文件;加-w才会写入到源文件

比如源文件格式化为:
在这里插入图片描述
使用命令行格式化后:

(1)不写入到源文件:
在这里插入图片描述
(2)写入到源文件:
在这里插入图片描述

2> 成对编程 {} () “” ‘’

3> 运算符两边 + 空格

在这里插入图片描述

4> 中括号{ 要和函数名在同一行,否则会编译报错(Missing function body

在这里插入图片描述

5> 官方推荐使用行注释 //

在这里插入图片描述

6> 一行最长不超过80个字符,超过的换行展示,保持格式优雅!

  • 非强制要求,不过我们输出长字符串时会发现,go会帮我们每80个字符串自动换行

在这里插入图片描述

四、API包

Gol中文网在线标准库文档:https://studygolang.com/pkgdoc

在这里插入图片描述

Go官网API文档:https://pkg.go.dev/std

在这里插入图片描述

五、总结和后续

这里主要了解一下Go的编程规约和相应的API包地址,后面正式开始coding。

猜你喜欢

转载自blog.csdn.net/Saintmm/article/details/130819239
今日推荐