Golang 自定义包的目录结构、go install 和 go test
// 假设我们有一个名为"mymath"的库,它提供了数学相关的功能。
// 以下是一个可能的目录结构和文件:
mymath/
COPYING
LICENSE
README.md
mathutil/
add.go
subtract.go
multiply.go
divide.go
go.mod
// mathutil/add.go 示例代码:
package mathutil
// Add 函数返回两个整数的和。
func Add(a, b int) int {
return a + b
}
// mathutil/subtract.go 示例代码:
package mathutil
// Subtract 函数返回两个整数的差。
func Subtract(a, b int) int {
return a - b
}
// mathutil/multiply.go 示例代码:
package mathutil
// Multiply 函数返回两个整数的积。
func Multiply(a, b int) int {
return a * b
}
// mathutil/divide.go 示例代码:
package mathutil
// Divide 函数返回两个整数的商。
func Divide(a, b int) (int, error) {
if b == 0 {
return 0, errors.New("division by zero")
}
return a / b, nil
}
// go.mod 示例内容:
module mymath
go 1.13
// 使用go install安装mymath包:
// 在mymath目录中运行以下命令:
$ go install mymath
// 使用go test测试mymath包:
// 在mymath目录中运行以下命令:
$ go test -v ./...
这个例子展示了如何创建一个简单的Go语言包mymath
,它提供了基本的算术运算功能。代码中包含了add.go
、subtract.go
、multiply.go
和divide.go
四个文件,分别定义了加、减、乘和除运算的函数。go.mod
文件定义了模块路径和所需的Go语言版本。通过go install
命令可以将包安装到Go的工作环境中,而go test
命令可以运行任何包含在_test.go
文件中的测试用例。
评论已关闭