Go语言结构
语言结构
Go的语言结构分为
既然是学习语言结构,那么还是用最简单的HelloWorld演示好了
包声明
package main
定义了包名。一个Go程序必须在源文件中非注释的第一行指明这个文件属于哪个包。
package main表示一个可独立执行的程序,每个 Go 应用程序都包含一个名为 main
的包。
注意:
- 文件名与包名没有直接关系,不一定要将文件名与包名定成同一个
- 文件夹名与包名没有直接关系,并非需要一致
- 同一个文件夹下的文件只能有一个包名,否则编译报错。package command-line-arguments is not a main package
引入包
import "fmt"
告诉 Go 编译器这个程序需要使用 fmt
包(的函数,或其他元素),fmt
包实现了基本的格式化 I/O(输入/输出)
约等于Python中的print()
函数
函数
func
是Go语言定义函数的方法。
约等于Python中的def main():
func main()
是程序开始执行的函数。main()
函数是每一个可执行程序所必须包含的,一般来说都是在启动后第一个执行的函数
如果有 init()
函数则会先执行该函数。
变量
与其他语言相通
但需要注意的是:当标识符(包括常量、变量、类型、函数名、结构字段等等)以一个大写字母开头,如:Group1,那么使用这种形式的标识符的对象就可以被外部包的代码所使用(客户端程序需要先导入这个包),这被称为导出(像面向对象语言中的 public);标识符如果以小写字母开头,则对包外是不可见的,但是他们在整个包的内部是可见并且可用的(像面向对象语言中的 protected )。
语句
fmt.Println()
可以将字符串输出到控制台,并在最后自动增加换行字符 \n。
使用 fmt.Print("hello, world\n")
可以得到相同的结果。
Print
和 Println
这两个函数也支持使用变量,如:fmt.Println(arr)
。如果没有特别指定,它们会以默认的打印格式将变量 arr
输出到控制台。
注释
使用以 //
开头的单行注释,而/*...*/
是多行注释,这点与C和C艹是相似的。