构建程序

发布时间 2023-07-26 13:42:46作者: 小溪_1
package main

import "fmt"

func main() {
    fmt.Println("简单的go程序")
}

Go通过包的方式管理程序,每个Go源代码文件都必须什么自己所在的包,如上面,

package main

声明自己所在的包是main包。

每个程序都必须有一个main包,main包作为整个程序编译的入口包,main包中的Main()函数作为程序的执行入口。

import关键字是导入其他包,导入某个包后就能在当前文件中使用这个包中的函数,例如上面的main包导入fmt包后,可以使用fmt包中的函数println()

可以使用go的build工具编译test.go文件

go build test.go

编译后,将当前路径下生成一个可执行的二进制文件:Windows下生成test.exe文件

 执行test.exe 输出 简单的go程序 

第二种方法:

将编译和运行两个步骤合二为一,go run不会生成可执行的二进制文件。

go run将编译得到的文件放到一个临时目录,然后执行,执行完成后自动清理临时目录,

go run test.go

关于包和go文件

每个go代码文件只能且必须使用package语句声明一个包,也就是说一个文件中不能包含多个包。

Go中有两种类型的包,或者说是两种类型的文件:

1.编译后成为可执行文件的包,也就是main包编译后得到的文件

2.编译成共享文件包,只要go程序文件中声明的不是main包,就是库文件。

两种类型的库文件

1.标准库

  是随Go安装的时候放在go安装目录下的($GOROOT/src)

2.第三方库

  放在workspace目录下的

库文件中的大小写命名

go通过名称首字母大小写决定属性是否允许导出:

  1.首字母大写的属性是允许导出的属性

  2.首字母小写的属性是不允许被导出

例如:test.go中

func first() {

}
func Second() {

}

 当导入这个包的时候,由于first首字母是小写,外界无法使用,只能在test.go包中使用,对外界不可见。大写字母开头的Second()函数能会被导入,所以可用

 

工作空间workspace

每个workspace都是一个目录,该目录下至少包含三个目录:

1.src

  该目录用于存放Go源代码文件(也称命令的源文件)

2.bin

  该目录用于存放可执行命令(即构建后可执行的二进制go程序,也称命令文件)

3.pkg

  该目录用于存放共享库文件(即构建后非可执行程序的酷宝,也成为了包对象文件)