美文网首页
02 | 程序入口

02 | 程序入口

作者: 刀斧手何在 | 来源:发表于2020-03-21 18:14 被阅读0次

    每个go程序都是由包组成,程序从main包开始。 在同一个目录下的源码文件都需要被声明为属于同一个代码包。

    • import 用来导入包
    import (
        "fmt"
        "math/rand"
    )
    import "fmt"
    import "math"
    
    • 导出名
      如果一个名字以大写字母开头,那么它就是已导出的
    package main
    
    import (
        "fmt"
        "math"
    )
    
    func main() {
        fmt.Println(math.Pi)
    }
    

    源码文件分为三种:命令源码文件,库源码文件,测试源码文件。


    image.png

    命令源码文件

    命令源码文件是程序的运行入口,是每个可独立运行的程序必须拥有的。我们可以通过构建或安装,生成与其对应的可执行文件,后者一般会与该命令源码文件的直接父目录同名。

    • 应用程序入口
    1. 必须是main包 main函数
    2. 不一定叫main.go 文件
    • 退出返回值
    1. main函数不支持任何返回值
    2. 需要通过os.Exit()来返回状态
    • 命令行参数
    1. main函数不支持接收命令行参数
    2. 需要通过os.Args 变量来传递
    3. 更复杂的参数解析使用flag包

    库源码文件

    库源码文件是不能被直接运行的源码文件,它仅用于存放程序实体,这些程序实体可以被其他代码使用(只要遵从 Go 语言规范的话)。

    • 源码文件所在的目录相对于 src 目录的相对路径就是它的代码包导入路径
    • 名称的首字母为大写的程序实体才可以被当前包外的代码引用,否则它就只能被当前包内的其他代码引用
    • 在 Go 1.5 及后续版本中,可以创建internal代码包(第三种访问权限:模块级私有)
    • 不允许导入后不使用,如果需要的话 import(_"fmt")

    测试文件

    • 源码文件以 xxx_test.go 结尾
    • 测试方法名以Test开头 TestXxx(t *testing.T)

    相关文章

      网友评论

          本文标题:02 | 程序入口

          本文链接:https://www.haomeiwen.com/subject/acwcthtx.html