怎么用go封装一个自己的库?请给出代码示例?
时间: 2024-02-27 09:57:31 浏览: 228
自己使用的封装库
要封装一个自己的库,可以使用Go语言的package机制。下面是一个简单的示例代码:
```go
// 在example目录下创建一个名为mylib的包
package mylib
import "fmt"
// 定义一个函数Add,将两个整数相加并返回结果
func Add(x, y int) int {
return x + y
}
// 定义一个结构体Person,包含姓名和年龄两个字段
type Person struct {
Name string
Age int
}
// 定义Person结构体的一个方法,将Person对象的姓名和年龄打印出来
func (p Person) SayHello() {
fmt.Printf("Hello, my name is %s and I am %d years old.\n", p.Name, p.Age)
}
```
在这个示例中,我们定义了一个名为mylib的包,其中包含了一个函数Add和一个结构体Person,以及Person结构体的一个方法SayHello。这些函数和结构体都被封装在mylib包中,可以被其他程序引用和使用。
如果要使用这个封装好的库,可以在其他程序中导入这个包:
```go
package main
import (
"fmt"
"example/mylib"
)
func main() {
// 调用mylib包中的Add函数
sum := mylib.Add(1, 2)
fmt.Println(sum)
// 创建一个Person对象并调用其SayHello方法
p := mylib.Person{Name: "Tom", Age: 18}
p.SayHello()
}
```
在这个示例中,我们在main函数中导入了mylib包,并使用其中的Add函数和Person结构体及其方法SayHello。注意,在导入mylib包时,要使用包的相对路径example/mylib。
阅读全文