type
status
date
slug
summary
tags
category
icon
password
AI summary

Go语言基础之包


1. 包的概念

在Go语言中,包 (Package) 是比较基本的一种组织代码的方式。所有Go代码都必须属于某一个包,它是实现模块化开发的基础。
在Go中,包有两大作用:
  1. 组织和约纳代码:在大型项目中,包用于分组代码。
  1. 实现封装:通过包名或属性名的大小写,控制外部对于包内容的访问。
包的结构定义如下:
注意:
  • 包名应该是清晰和明确的,通常是文件夹名称。
  • 一个包内部可以包含多个Go文件,但必须使用相同的包名。

2. Go语言的包组织

Go项目的代码包组织主要依赖于以下格式:
  1. 内置包:包括 fmtostime,等Go自带的包。
  1. 自定义包:由开发者定义的包,在项目中自行创建和组织。
  1. 第三方包:第三方开发者提供的包,通过Go模块管理工具进行安装。
通过下面的相关命令可以安装包或添加依赖:
一个完整的Go项目应用结构如下:

3. 包的导入和导出

3.1 包导入

在Go中,包导入使用 import 关键字,定义以下格式:
示例:

3.2 包导出

包内部的符号(函数、变量、结构体)的大写属性表示可以导出,小写属性表示私有,不能导出。
示例:
使用代码:

4. 包的优化和注意事项

  1. 名字要简洁,大写导出,小写属性私有化
  1. 优先使用Go自带包,避免重复定义
  1. 包名和文件夹名一致,以充分区分包内容
  1. 避免导入得低效、未使用的包,使用异常检查工具。

5. 总结

  1. 包是Go代码组织和封装的基础单元。
  1. 使用 import 导入包,属性大写可以导出,属性小写为私有。
  1. 通过模块管理安装依赖包,实现模块化开发。
 
接口结构体