[Golang自学] 初识包管理

一、包管理准则

1.一个文件夹可以称为一个包

  例如在项目目录下创建一个叫api的目录

2.在文件夹中可以创建多个文件

  例如在api目录下创建多个go文件,例如baidu.go,google.go

3.在同一个包下面的每个文件中必须指定包名称,推荐包名称与目录名相同

  在baidu.go和google.go文件中第一行都写上package api(这里也可以叫其他的,但推荐和目录名一直,以免混淆)

二、包的分类

1.main包

main包中必须存在一个main主函数作为程序的入口,相当于C语言中的main函数。

main包编译后为可执行文件。

2.非main包

非main包,用来将代码进行分类的。将其分别放在不同的包和文件中。

三、main包下的函数调用

1.在项目目录下创建多个go文件

2.编写如下代码

1
2
3
4
5
6
7
8
9
// app.go
package main
 
import "fmt"
 
func main(){
    fmt.Println("Hello World!!")
    show_msg()
}
1
2
3
4
5
6
7
8
// show.go
package main
 
import "fmt"
 
func show_msg(){
    fmt.Println("show msg...")
}

 可以看到,app.go和show.go都属于main包,app.go中包含main主函数,show.go中包含show_msg函数。

在main函数中对show_msg函数进行了调用。

3.使用IDE编译

如果出现以下错误:

 这个错误是因为,Goland IDE在编译时只对app.go文件进行了编译,而没有编译show.go文件,所以show.go中的show_msg调用失败。

修改编译器配置:

 将Run kind修改为目录类型,即编译器会编译该目录下所有的go文件。

此时再运行:

四、其他包下的函数调用

1.创建api包目录

 在项目目录下创建api子目录,并在其中创建baidu.go和google.go两个文件。

2.编写代码

// baidu.go
package api

import "fmt"

func Baidu(){
fmt.Println("BAIDU")
}
1
2
3
4
5
6
7
8
// google.go
package api
 
import "fmt"
 
func Google() {
    fmt.Println("GOOGLE")
}

3.在main中调用

1
2
3
4
5
6
7
8
9
10
11
12
13
// app.go
package main
 
import (
    "fmt"
    "new_program/api"
)
 
func main(){
    fmt.Println("Hello World!!")
    api.Baidu()
    api.Google()
}

  注意,在golang中,对函数名的命名有比较严格的要求,首字母大写表示公共函数,即可以在其他包中访问,如果首字母为小写,则只能在包内部使用,例如前面所描述的show_msg函数。

 

posted @   风间悠香  阅读(264)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
历史上的今天:
2020-04-14 [安全] 资料记录
点击右上角即可分享
微信分享提示

目录导航

一、包管理准则
二、包的分类
1.main包
2.非main包
三、main包下的函数调用
1.在项目目录下创建多个go文件
2.编写如下代码
3.使用IDE编译
四、其他包下的函数调用
1.创建api包目录
2.编写代码
3.在main中调用