mirror of
https://github.com/unknwon/the-way-to-go_ZH_CN.git
synced 2025-08-12 00:43:26 +08:00
review
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
# 9.8 自定义包的目录结构、go install 和 go test
|
||||
|
||||
为了示范,我们创建了一个名为 uc 的简单包,它含有一个 `UpperCase` 函数将字符串的所有字母转换为大写。当然这并不值得创建一个自己包,同样的功能已被包含在 `strings` 包里,但是同样的技术也可以应用在更复杂的包中。
|
||||
为了示范,我们创建了一个名为 uc 的简单包,它含有一个 `UpperCase` 函数将字符串的所有字母转换为大写。当然这并不值得创建一个自己包,同样的功能已被包含在 `strings` 包里,但是同样的技术也可以应用在更复杂的包中。
|
||||
|
||||
## 9.8.1 自定义包的目录结构
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
pkg/linux_amd64
|
||||
uc.a (包的目标文件)
|
||||
|
||||
将你的项目放在 goprograms 目录下(你可以创建一个环境变量 GOPATH,详见第 2.2/3 章节:在 .profile 和 .bashrc 文件中添加 `export GOPATH=/home/user/goprograms`),而你的项目将作为 src 的子目录。uc 包 中的功能在 uc.go 中实现。
|
||||
将你的项目放在 goprograms 目录下(你可以创建一个环境变量 GOPATH,详见第 2.2/3 章节:在 .profile 和 .bashrc 文件中添加 `export GOPATH=/home/user/goprograms`),而你的项目将作为 src 的子目录。uc 包中的功能在 uc.go 中实现。
|
||||
|
||||
示例 9.6 [uc.go](examples/chapter_9/uc.go):
|
||||
|
||||
@@ -86,7 +86,7 @@ include $(GOROOT)/scr/Make.pkg
|
||||
|
||||
这个包可以通过 go test 测试。
|
||||
|
||||
创建一个 ud.a 的测试文件在目录下,输出为 PASS 时测试通过。
|
||||
创建一个 uc.a 的测试文件在目录下,输出为 PASS 时测试通过。
|
||||
|
||||
在第 13.8 节我们将给出另外一个测试例子并进行深入研究。
|
||||
|
||||
@@ -122,7 +122,7 @@ GOFILES=\
|
||||
include $GOROOT/src/Make.cmd
|
||||
```
|
||||
|
||||
执行 gomake 编译 `ucmain.go` 到 ucmain 目录
|
||||
执行 gomake 编译 `ucmain.go` 成可执行文件ucmain
|
||||
|
||||
运行 `./ucmain` 显示: `USING package uc!`。
|
||||
|
||||
@@ -147,7 +147,7 @@ include $GOROOT/src/Make.cmd
|
||||
|
||||
## 9.8.3 依赖系统的代码
|
||||
|
||||
不同操作系统上运行不同的程序是非常少见的:绝大多数情况下语言和标准库解决了大部分的可移植性问题。
|
||||
在不同的操作系统上运行的程序以不同的代码实现是非常少见的:绝大多数情况下语言和标准库解决了大部分的可移植性问题。
|
||||
|
||||
你有一个很好的理由去写平台平台特定的代码,例如汇编语言。这种情况下,按照下面的约定是合理的:
|
||||
|
||||
|
Reference in New Issue
Block a user