GO语言基础教程(164)Go包的基本使用之package(创建包):Go语言包管理指南|从打包到上架,你的代码也该有个“家”!

一、包:给代码一个温馨的“家”

想象一下,如果你所有的衣服、书籍、餐具都堆在房间角落,找双袜子得翻半天——这就是没有包管理的代码状态。Go语言的package概念,就像是给代码分配了衣柜、书架、碗柜,让一切井然有序。

作为Gopher(Go程序员昵称),我见过太多新手把几百行代码塞进main.go,最后连自己都找不到上星期写的函数。其实Go包的核心理念很简单:相关功能放在一起,独立功能分开管理。就像你不会把牙刷和鞋子放在同一个抽屉里,也不该把用户验证和数据库操作混在同一文件。

最近接手了个“祖传项目”,10个功能挤在同一个包里,每次修改都像在拆弹。经历三次“手滑改崩功能”后,我彻底理解了Go设计者的良苦用心。现在,就带你从包的使用者变身创建大师!

二、创建你的第一个包:单间公寓

先来最简单的单文件包,适合功能简单的工具集合:

// 文件:calculator/calc.go
package calculator

import "fmt"

// 首字母大写=对外开放,小写=私有空间
var version = "1.0.0" // 私有变量,包外不可见

func Add(a, b int) int {
    return a + b
}

func Multiply(a, b int) int {
    return a * b
}

// 包初始化函数,Go自动在首次使用时执行
func init() {
    fmt.Printf("计算器包 v%s 已加载\n", version)
}

使用这个“单间公寓”:

// 文件:main.go
package main

import (
    "fmt"
    "yourmodule/calculator" // 替换为你的模块路径
)

func main() {
    sum := calculator.Add(10, 5)
    product := calculator.Multiply(10, 5)
    
    fmt.Printf("10+5=%d, 10×5=%d\n", sum, product)
    
    // calculator.version = "2.0"  // 编译错误!私有变量无法访问
}

重点解析

  • package calculator 声明了这个文件属于calculator包
  • 大写字母开头的函数和变量是公开的,小写则是包内私有
  • init() 函数是包的“装修工”,在包首次使用时自动执行

三、多文件包:升级成“豪华套房”

当功能增多时,单文件会变得臃肿。这时可以创建多文件包,就像把单间升级成多房间套房:

yourproject/
├── go.mod
├── main.go
└── finance/          // 财务包
    ├── tax.go        // 税务相关
    ├── interest.go   // 利息计算
    └── curren
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

值引力

持续创作,多谢支持!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值