06《Go语言入门》Go程序结构、入口、退出返回值及获取命令函参数

切记:基础知识和设计原理真的很重要。
切记:慢工出细活,心急吃不了热豆腐。

⚡️这是我纯手写的《Go语言入门》,源码+文章,手把手教你入门Go。看了你就会!
⚡️文章中所有的代码我都放到了 github.com/GanZhiXiong/go_learning 这个仓库中!
⚡️看文章时,对照仓库中代码学习效果更佳哦!

Go程序结构

一个基本的Go程序代码由三部分构成:

  • 引入依赖
  • main函数程序入口
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    // 包,表明代码所在的模块(包)
    package main

    // 引入代码依赖
    // IDE会自动导入包,所以可以直接使用fmt,而不需要写下面代码
    import "fmt"

    // 程序入口,功能实现
    func main() {
    fmt.Println("Start")
    fmt.Println("Hello, World!")
    fmt.Println("End")
    }

程序入口

Go程序的入口必须要满足以下两个要求:

  • 必须是main包:package main

    比如将main修改为main1,就会提示一个警告⚠️Unused function 'main',并且go build hello.go Configuration不可用。如下图所示:

  • 必须是main函数:func main()

    比如将函数名称修改为其他名称,同样会出现这个上图一样的问题。

    需要注意的是:Go文件名不一定是main.go

退出返回值

C++或Java通过main函数可以返回值的,例如返回退出的状态。
但是Go中的main函数是不支持任何返回值的。
编写代码验证如下图所示:

os.Exit(code)

在Go中main函数返回程序退出状态,**使用os.Exit(code)**,code的范围为0-125。

  • 正常退出code使用0
  • 异常退出code使用非0

获取命令行传参

C++和Java的main函数是支持传入参数的,
但是Go语言main函数则不支持。

但是它可以和Node.js一样通过命令行传入参数
在代码中,通过os.Args获取参数数组
例如:

06《Go语言入门》Go程序结构、入口、退出返回值及获取命令函参数

https://ganzhixiong.com/p/74b87465/

Author

干志雄

Posted on

2021-01-05

Updated on

2021-01-05

Licensed under

Comments