(18条消息) Go语言自学系列 | golang包_COCOgsta的博客-CSDN博客



Go语言自学系列 | golang包

COCOgsta 已于 2022-04-09 21:02:39 修改 28 收藏
分类专栏: 视频学习笔记 文章标签: golang go

视频来源:B站《golang入门到项目实战 [2021最新Go语言教程,没有废话,纯干货!持续更新中...]》

一边学习一边整理老师的课程内容及试验笔记,并与大家分享,侵权即删,谢谢支持!

附上汇总贴:Go语言自学系列 | 汇总_COCOgsta的博客-CSDN博客


包可以区分命名空间(一个文件夹中不能有两个同名文件),也可以更好的管理项目。go中创建一个包,一般是创建一个文件夹,在该文件夹里面的go文件中,使用package关键字声明包名称,通常,文件夹名称和包名称相同。并且,同一个文件下面只有一个包

创建包

  1. 创建一个名为dao的文件夹
  2. 创建一个dao.go文件
  3. 在该文件中声明包
  1. 1
    package dao
  2. 2
    import "fmt"
  3. 3
  4. 4
    func Test1() {
  5. 5
    fmt.Println("test package")
  6. 6
    }
  7. 7

导入包

要使用某个包下面的变量或者方法,需要导入该包,导入包时,要导入从GOPATH开始的包路径,例如,在service.go中导入dao包

  1. 1
    package main
  2. 2
  3. 3
    import "dao"
  4. 4
  5. 5
    func main() {
  6. 6
    dao.Test1()
  7. 7
    }
  8. 8

包注意事项

  • 一个文件夹下只能有一个package
    • import后面的其实是GOPATH开始的相对目录路径,包括最后一段。但由于一个目录下只能有一个package,所以import一个路径就等于是import了这个路径下的包。
    • 注意,这里指的是“直接包含”的go文件。如果有子目录,那么子目录的父目录是完全两个包。
  • 比如你实现了一个计算其package,名叫calc,位于calc目录下;但又想给别人一个使用范例,于是在calc下可以建个example子目录(calc/example),这个子目录里有个example.go(calc/example/example.go)。此时,example.go可以是main包,里面还可以有个main函数。
  • 一个package的文件不能在多个文件夹下
    • 如果多个文件夹下有重名的package,它们其实是彼此无关的package。
    • 如果一个go文件需要同时使用不同目录下的同名package,需要在import这些目录时为每个目录指定一个package的别名。

yg9538 2022年7月22日 22:48 326 收藏文档