go-lang已经发布了go1,前段时间看了一下go语言的教程,就喜欢上了这门语言,但使用多个文件编译是碰到一些麻烦,引用出错编译通不过,google之找到了这篇教程https://golang.org/doc/code.html,我按自己的理解记录一下,英文好的童鞋还是看原文吧!
go语言可以用makefile,也可以按他的约定来直接编译。约定其实比较简单,go语言是这么来配置他的工程的
prjDir # 工程根目录
bin/
hello # 可执行文件,window下为hello.exe
pkg/ # 包跟目录
linux_amd64/ # 执行平台
example/ # 分包目录
newmath.a # 包,类似java中的jar
src/ # 源代码
example/
hello/ # 类似于java的example.hello,java中是包内部目录,go则在包外部
hello.go # 命令行,这个必须在main包,有main函数,生成名字为hello
newmath/ # 包名,将位于example,编译生成newmath.a包
sqrt.go # 包内源代码文件,不包含main函数
如上结构是go的目录结构了,其实bin和pkg是不用自己建立的,go编译自动生成。
实战一下:
1.在d:\workspace下新建prjDir目录
2.设置GOPATH环境变量
GOPATH = d:\workspace\prjDir
3.prjDir下新建src
4.src下新建example,旗下新建newmath及sqrt.go文件
5.sqrt.go文件输入代码
// Package newmath is a trivial example package.
package newmath
// Sqrt returns an approximation to the square root of x.
func Sqrt(x float64) float64 {
// This is a terrible implementation.
// Real code should import "math" and use math.Sqrt.
z := 0.0
for i := 0; i < 1000; i++ {
z -= (z*z - x) / (2 * x)
}
return z
}
6.example下新建hello,旗下新建hello.go
7.hello.go输入
// Hello is a trivial example of a main package.
package main
import (
"example/newmath"
"fmt"
)
func main() {
fmt.Printf("Hello, world. Sqrt(2) = %v\n", newmath.Sqrt(2))
}
8.命令行切换到src下,输入命令
go install example/newmath
这时候根prjDir下生成一个pkg,内容如上图
9.src下输入命令
go install example/hello
编译生成hello(hello.exe)命令行
10.执行./hello(hello.exe)就有输出了
go的这种约定很简洁,其实GOROOT就相当于(JAVA_HOME)
GOPATH 相当于PATH,依赖路径,可以配置多个,linux用冒号(:)隔开,window用分号(;)
GO的引用是 一级包/二级包/包名 比如example/newmath
分享到:
相关推荐
实施细则明确了公路工程施工分包的定义、类型和范围,包括专业工程分包和专项工程分包。专业工程分包是指国家资质管理规定中明确的公路路基、路面、桥梁、隧道工程等。专项工程分包是指按照《公路工程质量检验评定...
国家电网公司电力建设工程专业分包、劳务分包安全管理规定
建设工程转包分包法律风险防控,建设工程转包分包法律风险防控PPT,建设工程转包分包法律风险防控课件
《武汉市建设工程专业分包和劳务分包管理办法》是武汉市针对建筑市场秩序维护和规范专业分包及劳务分包行为的法规。该办法旨在避免非法转包和层层分包,保障工程质量和安全,依据《中华人民共和国建筑法》等相关法律...
4. 付款方式和工程款支付条件:通常分包方会按照工程进度获得相应的工程款支付,合同中应详细规定付款比例、付款节点、结算方式等。 5. 违约责任和争议解决:对于工程延期、质量问题、安全事故等可能发生的违约行为...
本文档是关于消防工程劳务分包的合同,主要涉及了发包方(甲方)与分包方(乙方)之间的权利和义务。以下是合同中的关键知识点: 1. **合同依据**: - 合同的签订遵循《中华人民共和国合同法》和《中华人民共和国...
甲方(工程承包人)需提供商务支持、支付劳务费、审核工程材料和量,而乙方(劳务分包人)则需准备施工、服从管理、提交工程报告、处理赔补事宜、确保工程质量等。 7. **付款方式**:合同中规定了付款的条件和时间...
《工程施工分包管理办法》是针对建筑工程行业中分包行为的规范化指导文件,旨在确保工程项目的顺利进行,保证质量和安全,维护企业利益和公众形象。以下是该管理办法的主要内容和知识点: 1. **总则**:管理办法的...
2. 工程基本信息的记录:该文件记录了工程的基本信息,包括工程编号、工程名称、分包工程合同编号等,这些信息对于工程的实施和管理非常重要。 3. 分包工程内容的明确:该文件明确了分包工程的内容,包括空分装置B...
钢筋分项工程劳务分包合同.doc
5. 转包、肢解分包和再次分包的风险:这些行为都是法律禁止的,但实际中可能被滥用,导致总包单位对工程的控制力减弱,增加了工期、质量和安全的风险。 6. 挂靠或借用资质的风险:挂靠企业或个人可能因为技术与管理...
本文将对工程劳务分包管理制度进行详细的解释和分析,以便读者更好地了解此制度的内容和要求。 一、工程分包管理制度的目的 工程劳务分包管理制度的目的是为了贯彻平安消费法,保持“平安第一,防备为主,综合管理...
8. 材料和设备供应:约定分包工程所需材料和设备的提供方、标准以及分包方的责任和义务。 9. 合同变更和违约责任:列出合同变更的条件和程序,以及因违约导致的责任承担和赔偿事宜。 10. 争议解决方式:规定双方...
由于提供的文件内容主要是FIDIC土木工程施工分包合同条件的章节和条款序号,没有具体阐述这些条款的具体内容,因此难以从这部分内容中直接提取出完整的知识点。不过,我可以根据这些条款序号,结合FIDIC合同的一般...
- 工程范围和内容:详细描述工程分包的范围、具体工作内容、施工图和预算等。 - 工程期限:明确工程的开工日期、竣工日期以及延期相关约定。 - 质量要求:规定工程应达到的质量等级、验收标准和检验程序。 - 安全...
《工程分包管理规定》是一份针对建筑工程中分包行为的管理文档,旨在确保工程的质量、安全,防止经济纠纷,依据《建筑法》、《合同法》和《建设工程质量管理条例》等相关法律法规制定。该规定详细阐述了工程分包的...
建设工程专业分包合同是建筑工程领域中常见的法律文件,用于规定总承包商(工程承包人)与专业分包商之间的权利、义务和责任。这份合同涉及的内容广泛,包括工程概况、合同工期、质量标准、合同文件及解释顺序、合同...
广州市房屋建筑和市政基础设施工程劳务分包合同.pdf
根据您提供的信息,我将根据标题和描述中提供的线索生成消防工程劳务分包协议相关知识点。然而,提供的【部分内容】信息并不完整,并且大部分内容是OCR扫描出的文档文字,可能因为扫描技术原因存在识别错误,无法...
该文档是关于暖通工程分包的一份合同,主要涵盖了分包工程的基本信息、合同价款与结算方式、工程承包指标、工程范围、工程质量与施工进度等方面。以下是这些知识点的详细说明: 1. **工程基本信息**: - 工程名称...