Go中的工程管理

栏目: Go · 发布时间: 7年前

内容简介:一、工作区:

一、工作区:

其实就是一个对应于特定工程的目录,它应包含 3 个子目录: src 目录、 pkg 目录和 bin 目录。

src 目录:用于以代码包的形式组织并保存 Go 源码文件。(比如: .go .c .h .s 等)

pkg 目录:用于存放经由 go install 命令构建安装后的代码包(包含 Go 库源码文件)的“ .a ”归档文件。

bin 目录:与 pkg 目录类似,在通过 go install 命令完成安装后,保存由 Go 命令源码文件生成的可执行文件。

若环境变量 GOPATH 中包含多个工作区的目录路径,像这样执行 go install 命令就会失效,此时必须设置环境变量 GOBIN

二、包:

我们创建的的自定义包最好 放在 GOPATH src 目录下 (或者 GOPATH src 的某个子目录)。

Go 语言中,代码包中的源码文件名可以是任意的。但是,这些任意名称的源码文件都必须以包声明语句作为文件中的第一行,每个包都对应一个独立的名字空间。

package   calc

包中成员以名称⾸字母⼤⼩写决定访问权限:

public: ⾸字母⼤写,可被包外访问

private: ⾸字母⼩写,仅包内成员可以访问

注意: 同一个目录下 不能 定义不同的 package

三、main包。

init 函数(能够应用于所有的 package ), 建议用户在一个 package 中每个文件只写一个 init 函数

main 函数(只能应用于 package main ), package main 就必须包含一个 main 函数.

行顺序

1)每个包可以包含任意多个 init 函数,这些函数都会在程序执行开始的时候被调用。所有被 编译器发现的 init 函数都会安排在 main 函数之前执行。 init 函数用在设置包、初始化变量或者其他要在程序运行前优先完成的引导工作。

2) 程序的初始化和执行都起始于 main 包。如果 main 包还导入了其它的包,那么就会在编译时将它们依次导入。

3) 有时一个包会被多个包同时导入,那么它只会被导入一次(例如很多包可能都会用到 fmt 包,但它只会被导入一次,因为没有必要导入多次)。

4) 当一个包被导入时,如果该包还导入了其它的包,那么会先将其它包导入进来,然后再对这些包中的 包级常量和变 进行初始化,接着执行 init 函数 (如果有的话),依次类推。

5) 等所有被导入的包都加载完毕了,就会开始对 main 包中的包级常量和变量进行初始化,然后执行 main 包中的 init 函数(如果存在的话),最后执行 main 函数。

Go中的工程管理

四,导入包使用关键字import。

一)、import可以是相对路径,也可以是绝对路径。

//方法1

import  "fmt"

import "net"

//方法2

import (

"fmt"

"net"

)

二)、包的查找路径。

1) 标准库中的包会在安装 Go 的位置找到; 2) Go开发者创建的包会在GOPATH环境变量指定目录里查找。

3)如果编译器查遍 GOPATH 也没有找到要导入的包,那么在试图对程序执行 run 或者 build

的时候就会出错。

三)点操作,别名操作和_操作。

1)点操作:

import (

// 这个点操作的含义是这个包导入之后在你调用这个包的函数时,可以省略前缀的包名

. "fmt"

)

func main(){

Println("Hello go!")

}

2)别名操作

import (

io "fmt" //fmt改为io

)

func  main(){

io.Println("hello go") //通过io别名调用

}

3)_操作

import (

_"fmt"

_操作其实是引入改包,而不直接使用包里面的函数, 而是调用了该包里面的init函数。


以上所述就是小编给大家介绍的《Go中的工程管理》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

重来2

重来2

[美] 贾森·弗里德、[美] 戴维·海涅迈尔·汉森 / 苏西 / 中信出版社 / 2014-4-8 / 39.00元

“不再需要办公室”,这不仅仅是未来才有的事——它已经发生了。现在,轮到你迈开脚步,跟上时代的步伐了。 上百万的员工和成千上万的企业已经发现了远程工作的乐趣和好处。然而,远程工作方式还没有成为常见的选择。事实上,远程工作的技术手段都已齐备。还没有升级换代的,是人们的思想。 这本书的目的就是帮你把想法升级换代。作者会向你展示远程工作的诸多好处:可以找到最优秀的人才,从摧残灵魂的通勤路上解脱......一起来看看 《重来2》 这本书的介绍吧!

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

随机密码生成器
随机密码生成器

多种字符组合密码

html转js在线工具
html转js在线工具

html转js在线工具