Hello Golang

GO 程序的基本结构

Go 语言的文件后缀是 .go 结尾,例如 hello.go

Go 项目的文件目录通常是这样的:

.
└── src
    └── go_code
        └── learn 项目名
            └── package1 
            └── package2

以下代码是一个 hello world 程序的代码示例

/**
 * hello 主程序
 * @version: v1.0
 * @author: Clover
 * @create: 2023-04-30 16:04
 */
package main

import "fmt"

func main() {
  fmt.Println("hello world!")
}
  1. 1~6行是一个块注释,写在我们代码文件头部的注释,通常是对当前文件的一个描述,这是一个好习惯,我推荐大家都这么做,通常在 IDE 中也可以配置生成这种注释。
  2. package main 表示该文件所在的包是 main 。Go 文件都必须归属于某一个包而不能脱离。
  3. import "fmt" 表示引入一个包,包名为 fmt ,引入该包后,就可以使用 fmt 包里面的函数,例如: fmt.Println("")
  4. func main() {...} 它是一个主函数,每一个程序都必须存在一个主函数,它是程序的入口,和 Java 语言的 main 函数是一样的。
    • fun 是一个关键字,表示一个函数,后面紧跟一个函数名。
    • {...} 函数名后的花括号表示一个作用域,或者称为代码块。我们方法的所有逻辑基本都是写在这些 {} 里。
  5. fmt.Println("hello world!") 表示通过成员运算符 . 来调用 fmt 包下的 Println() 方法,这个方法实现的功能是将我们传递的参数打印到控制台。在这我传递了一个 hello world! 字符串,程序执行后控制台将输出 hello world

如果需要执行 go 代码,可以通过 go build 命令去将其编译成一个可执行文件。如若不需要打包而是单纯的想执行它,那么可以使用 go run 命令去操作:

# clover @ MacBook-Pro in ~/dev/go/learn/src/go_code/learn/main [16:26:12] 
$ go run hello.go  
hello world!

通过 go build 命令去生成可执行文件,那么默认的文件名是源码文件的文件名,例如:go build hello.go 它会生成 hello

如果需要重命名,那么可以通过 -o 参数进行指定,需要注意的是:后缀必须对应当前操作系统执行文件的后缀,例如windows下是 exe ,在 Mac 中无需指定后缀。

go build -o test hello.go

执行 go run 命令比执行 go build 后执行可执行文件的速度是要慢的,因为执行文件是通过 go build 生成的,无需二次 build ,而 go run 命令每次执行的时候都需要 build

  1. 使用 go build 命令编译后,即使在没有 Go 开发环境的机器上,编译生成的可执行文件它仍然是可以正常运行的。
  2. 如果我们直接使用 go run 命令,它是不会生成任何可执行文件,如果想要在其它机器上运行,那么需要配置 Go 开发环境,否则无法执行。
  3. 在编译时,编译器会将程序运行依赖的库文件包含在可执行文件中,所以可执行文件实际大小比源码大很多。
  1. Go 源文件后缀名是 .go
  2. Go 应用程序的执行入库是 main() 函数
  3. Go 语言严格区分大小写
  4. Go 代码每个语句后边后不需要加上分号(Go 编译时会在每行末尾自动加分号),当然手动加上分号也是没有问题的。
  5. Go 编译器是至上而下一行一行进行编译的,因此我们代码中如果没有手动添加分号 ; ,那么一行只允许存在一条语句。因为如果没有添加分号且一行存在多条语句的时候,编译器会将其当作一个完整的语句来编译,这会造成语法错误。
  6. Go 语言自定义变量或者import的包没有被使用时,代码无法通过编译,因为这种情况在大项目下,可能会造成非常多的冗余无效代码
  7. 大括号 {} 都是成对出现的,缺一不可
posted @ 2023-06-13 09:57  CloverYou  阅读(20)  评论(0)    收藏  举报