使用包的原因
这里我在项目导包显示gopath里没有这个路径,我查看了系统环境变量确定我没走错路径,截图如下
据说是gomodule那里出现了问题
后面经csdn搜到一个解决方案,使用如下指令就成功了
go env -w GO111MODULE=off
项目的结构
具体代码
package main //1.package进行包的声明,建议:包的声明这个包和所在的文件夹同名
//import "fmt" //2. main包是程序的入口包,一般main函数会放在这个包下
//3. 包名是从$GOPATH/src/后开始计算的,使用/进行路径分隔
//import "gocode/testproject01/unit5/demo07/crm/dbutils"
//4. 如果有多个包,建议一次性导入
import (
"fmt"
"gocode/testproject01/unit5/demo07/crm/dbutils"
)
func main() {
fmt.Println("你好,这是main函数的执行")
dbutils.GetConn() //4. 在函数调用的时候前面要定位到所在的包
}
package dbutils
import "fmt"
func GetConn() { //5. 首字母大写,可以被其他包访问
fmt.Println("执行了dbutils包下的getConn函数")
}
注意事项:
- package进行包的声明,建议:包的声明这个包和所在的文件夹同名
- main包是程序的入口包,一般main函数会放在这个包下
- 打包语法:package 包名
- 引入包的语法:import “包的路径”
包名是从$GOPATH/src/后开始计算的,使用/进行路径分隔 - 如果有多个包,建议一次性导入,格式如下:
import(
“fmt”
“gocode/testproject01/unit5/demo07/crm/dbutils”
) - 在函数调用的时候前面要定位到所在的包
- 首字母大写,函数可以被其他包访问
- 一个目录下不能有重复的函数
- 包名和文件夹的名字,可以不一样
- 一个目录下的同级文件归属一个包
- 包到底是什么:
- 在程序层面,所有使用相同package包名的源文件组成的代码模块
- 在源文件层面就是一个文件夹