Go语言自定义包教程

中,我们除了可以使用系统内置的 ,还可以自己定义包。我们自定义的包必须放在 的 src 目录下,且同一个目录下只能有且只有一个包。

test_

案例

自定义包

haicoderinfo.go

07_golang自定义包.png

info.go
package haicoder import "fmt" func Info(){ fmt.Println("Call HaiCoder Info, www.haicoder.net") }
packagehaicoder
GOPATHhaicoder.go
package main import ( "fmt" "haicoder" ) func main() { fmt.Println("嗨客网(www.haicoder.net)") haicoder.Info() }

即,我们定义了该包的包名为 包,同时,我们在 main 包里面同时引入了 fmt 包和 haicoder 包,最后,我们在 main 函数里面,调用了 haicoder 包里面的 Info 方法。程序运行后,控制台输出如下:

08_golang自定义包.png

haicoder

自定义包

arithmeticlogicarithmeticarithmetic.go

09_golang自定义包.png

arithmetic.go
package arithmetic func Add(num1, num2 int)int{ return num1 + num2 } func Sub(num1, num2 int)int{ return num1 - num2 }
logiclogic.go

10_golang自定义包.png

logic.go
package logic func Mul(num1, num2 int)int{ return num1 * num2 } func Div(num1, num2 int)int{ return num1 / num2 }
GOPATHhaicoder.go
package main import ( "arithmetic" "fmt" "logic" ) func main() { fmt.Println("嗨客网(www.haicoder.net)") num1 := int(100) num2 := int(10) sum := arithmetic.Add(num1, num2) sub := arithmetic.Sub(num1, num2) fmt.Println("Sum =", sum, "Sub =", sub) mul := logic.Mul(num1, num2) div := logic.Div(num1, num2) fmt.Println("Mul =", mul, "Div =", div) }

即,我们定义了该包的包名为 main 包,同时,我们在 main 包里面同时引入了 fmt 包和 arithmetic 包和 logic 包 ,最后,我们在 main 函数里面,调用了 arithmetic 包里面的 Add 方法和 Sub 方法,调用了 logic 包里面的 Mul方法和 Div方法。程序运行后,控制台输出如下:

11_golang自定义包.png

我们看到,程序运行之后,输出了我们定义的两个数的和,差,积和商。即,我们在 main 包里面成功调用了 arithmetic 包和 logic 包里面的函数。

Go语言自定义包总结

Go 语言中,我们除了可以使用系统内置的包,还可以自己定义包。我们自定义的包必须放在 GOPATH 的 src 目录下,且同一个目录下只能有且只有一个包。