Go语言基础语法(package)-5

简介: 章节package 作用及定义1.package 作用及定义package 是 最基本的分发单位 和 工程管理中依赖关系 的体现每个GO语言源代码文件开头都拥有一个package声明,表示源码文件所属的代码包要生成GO语言可执行程序,...

章节

  • package 作用及定义

1.package 作用及定义

  • package 是 最基本的分发单位工程管理中依赖关系 的体现
  • 每个GO语言源代码文件开头都拥有一个package声明,表示源码文件所属的代码包
  • 要生成GO语言可执行程序,必须要有main的package包,且必须在该包下有main()函数
  • 同一个路径下只能存在一个package,一个package可以拆成多个源文件组成

2.实践-验证上述package作用及定义

2.1 必须要有 package main 包 且 必须在该包下有main函数

package 包名不为main

package main1

import "fmt"

func main1() {
    fmt.Println("测试")
}

运行结果如下图所示:


img_91da8ce88f2850926d606cadab073e82.png
package name->main1

2.2 package main 包中没有main函数-func main1() {...}

package main1

import "fmt"

func main1() {
    fmt.Println("测试")
}

运行结果如下所示:


img_7d1923d2d55d13fea5d5911ec5804fe1.png
func name->main1

所以package main 下面需要有main函数,否则生成不了可执行文件

2.3 package 名不为main

//package 包名与文件夹名要求保持一致
package learn02

import "fmt"

func test02() {
    fmt.Println("i am test")
}

package learn02 与 项目文件夹结构目录保持一致

img_7da1767f1233ac230b04e59742610c95.png
package learn02 与 项目文件夹结构目录保持一致

test02.go 源代码编译情况如下所示:
源代码文件可正常编译
img_bdff76f55037ec65b28ffc894ea56ecf.png
test02.go 源文件可正常编译

2.4 同一个路径下只能存在一个package,一个package可以拆成多个源文件组成

目录结构下新建 main02.go

img_f65205039c3c43d1488400145c161f46.png
同一个路径下只存在一个package

运行情况

go build main02.go
img_9ebd26d483f23eb12d99c90feb53e6fc.png
main02.go 可正常编译、但未生成可执行文件

2.5 一个package可以包含多个源文件

项目目录结构如下所示:


img_920e93e878dce66aa65c41e242a0dfb7.png
一个package可以包含多个源文件
目录
相关文章
|
8天前
|
Go 索引
go语言中的循环语句
【11月更文挑战第4天】
19 2
|
3天前
|
Go API 数据库
Go 语言中常用的 ORM 框架,如 GORM、XORM 和 BeeORM,分析了它们的特点、优势及不足,并从功能特性、性能表现、易用性和社区活跃度等方面进行了比较,旨在帮助开发者根据项目需求选择合适的 ORM 框架。
本文介绍了 Go 语言中常用的 ORM 框架,如 GORM、XORM 和 BeeORM,分析了它们的特点、优势及不足,并从功能特性、性能表现、易用性和社区活跃度等方面进行了比较,旨在帮助开发者根据项目需求选择合适的 ORM 框架。
16 4
|
3天前
|
缓存 监控 前端开发
在 Go 语言中实现 WebSocket 实时通信的应用,包括 WebSocket 的简介、Go 语言的优势、基本实现步骤、应用案例、注意事项及性能优化策略,旨在帮助开发者构建高效稳定的实时通信系统
本文深入探讨了在 Go 语言中实现 WebSocket 实时通信的应用,包括 WebSocket 的简介、Go 语言的优势、基本实现步骤、应用案例、注意事项及性能优化策略,旨在帮助开发者构建高效稳定的实时通信系统。
22 1
|
6天前
|
Go
go语言中的continue 语句
go语言中的continue 语句
16 3
|
7天前
|
安全 Go 调度
探索Go语言的并发模型:goroutine与channel
在这个快节奏的技术世界中,Go语言以其简洁的并发模型脱颖而出。本文将带你深入了解Go语言的goroutine和channel,这两个核心特性如何协同工作,以实现高效、简洁的并发编程。
|
8天前
|
Go
go语言中的 跳转语句
【11月更文挑战第4天】
17 4
|
8天前
|
JSON 安全 Go
Go语言中使用JWT鉴权、Token刷新完整示例,拿去直接用!
本文介绍了如何在 Go 语言中使用 Gin 框架实现 JWT 用户认证和安全保护。JWT(JSON Web Token)是一种轻量、高效的认证与授权解决方案,特别适合微服务架构。文章详细讲解了 JWT 的基本概念、结构以及如何在 Gin 中生成、解析和刷新 JWT。通过示例代码,展示了如何在实际项目中应用 JWT,确保用户身份验证和数据安全。完整代码可在 GitHub 仓库中查看。
39 1
|
9天前
|
存储 JSON 监控
Viper,一个Go语言配置管理神器!
Viper 是一个功能强大的 Go 语言配置管理库,支持从多种来源读取配置,包括文件、环境变量、远程配置中心等。本文详细介绍了 Viper 的核心特性和使用方法,包括从本地 YAML 文件和 Consul 远程配置中心读取配置的示例。Viper 的多来源配置、动态配置和轻松集成特性使其成为管理复杂应用配置的理想选择。
30 2
|
Go 编译器 开发工具
Go语言基础语法(import)-5
Go语言系列学习文章
1434 0
|
8天前
|
Go C++
go语言中的条件语句
【11月更文挑战第4天】
21 2
下一篇
无影云桌面