Golang_包应用

GO的包:

最近在写go时,用到了包,然而却一直报错,迟迟不能解决,今天就来总结一下。

个人编译习惯(老师就这么教的)go程序的包放在GOPATH下的\src\go_code中.在这里插入图片描述
GOROOT是配go编译器用的环境变量,
path=%GOROOT%\bin

  • 引入包可采用如下两种方式
  1. import "fmt"
import (
	"fmt"
)

import指定的字符串,是相对于$GOPATH的目录路径,告诉了go,要去加载这个目录下所有的包文件(不包括子目录中的文件).

  • 但麻烦得还是自定义包的引入:

包管理、主程序应放在 src\go_code 的main文件夹下(主程序中包含main函数,并将主程序的包名写为package main),将其他模块放在相应的文件夹下.如果go程序里没有main包/main函数,程序将不能运行。
在这里插入图片描述
例如上包:
alia.go和alis.go在alias文件夹下,所以这两个程序的包名为"alias"(package alias),
ruin.go在utls文件夹下,则包名为"utls"(package utls),main.go包名为main。如果main函数要调用alia.go或alis.go中的函数,必须要引入包"alias"(import “go_code/alias”),如果要调用ruin.go中的函数,必须要引入包"utls"(import “go_code/alias/utls”)。

注意:

  1. 调"utls"包必须import "go_code/alias/utls"而不能光import “go_code/alias”,因为import加载目录下的所有包文件但不包括子文件。
  2. go语言的路径分割用"/",与windows 标准有所区别。
  • 包内函数的调用:
    变量名、函数名,结构体名,结构体属性名,方法名首字母大写为公有,小写即私有。
    调用此包文件,公有可被被调用者访问,私有只能在此包文件中可访问。
    调用包文件元素时,格式: 包名.元素
package utls
import(
	"fmt"
)
var Num = 521
func Cal(a int, b int) res int { //Cal首字符要大写 设为公有
	res = a + b
	return 
}
package main
import (
	"fmt"
	abs "go_code/alias/utls" //调包 并给包起个别名,当起好别名后必须用别名
)
func main() {
	var n1, n2, sum int
	fmt.Scanf("%d %c %d", &n1, &ope, &n2)
	sum = abs.Cal(n1, n2)
	fmt.Println("sum = ", sum)
	fmt.Println("\nutls.go Num = ", abs.Num)
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值