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可以包含多个源文件
目录
相关文章
|
17天前
|
Go
go语言中的数据类型
go语言中的数据类型
13 0
|
22天前
|
Go 开发者
掌握Go语言:Go语言结构体,精准封装数据,高效管理实体对象(22)
掌握Go语言:Go语言结构体,精准封装数据,高效管理实体对象(22)
|
22天前
|
安全 Go
掌握Go语言:Go语言通道,并发编程的利器与应用实例(20)
掌握Go语言:Go语言通道,并发编程的利器与应用实例(20)
|
4天前
|
数据采集 存储 Go
使用Go语言和chromedp库下载Instagram图片:简易指南
Go语言爬虫示例使用chromedp库下载Instagram图片,关键步骤包括设置代理IP、创建带代理的浏览器上下文及执行任务,如导航至用户页面、截图并存储图片。代码中新增`analyzeAndStoreImage`函数对图片进行分析和分类后存储。注意Instagram的反爬策略可能需要代码适时调整。
使用Go语言和chromedp库下载Instagram图片:简易指南
|
22天前
|
存储 安全 Go
掌握Go语言:Go语言类型转换,无缝处理数据类型、接口和自定义类型的转换细节解析(29)
掌握Go语言:Go语言类型转换,无缝处理数据类型、接口和自定义类型的转换细节解析(29)
|
1天前
|
Go 开发者
Golang深入浅出之-Go语言流程控制:if、switch、for循环详解
【4月更文挑战第21天】本文介绍了Go语言中的流程控制语句,包括`if`、`switch`和`for`循环。`if`语句支持简洁的语法和初始化语句,但需注意比较运算符的使用。`switch`语句提供多分支匹配,可省略`break`,同时支持不带表达式的形式。`for`循环有多种形式,如基本循环和`for-range`遍历,遍历时修改原集合可能导致未定义行为。理解并避免易错点能提高代码质量和稳定性。通过实践代码示例,可以更好地掌握Go语言的流程控制。
10 3
Golang深入浅出之-Go语言流程控制:if、switch、for循环详解
|
1天前
|
Go
Golang深入浅出之-Go语言函数基础:定义、调用与多返回值
【4月更文挑战第21天】Go语言函数是代码组织的基本单元,用于封装可重用逻辑。本文介绍了函数定义(包括基本形式、命名、参数列表和多返回值)、调用以及匿名函数与闭包。在函数定义时,注意参数命名和注释,避免参数顺序混淆。在调用时,要检查并处理多返回值中的错误。理解闭包原理,小心处理外部变量引用,以提升代码质量和可维护性。通过实践和示例,能更好地掌握Go语言函数。
14 1
Golang深入浅出之-Go语言函数基础:定义、调用与多返回值
|
2天前
|
程序员 Go API
【Go语言快速上手(二)】 分支与循环&函数讲解
【Go语言快速上手(二)】 分支与循环&函数讲解
|
2天前
|
Go
Golang深入浅出之-Go语言基础语法:变量声明与赋值
【4月更文挑战第20天】本文介绍了Go语言中变量声明与赋值的基础知识,包括使用`var`关键字和简短声明`:=`的方式,以及多变量声明与赋值。强调了变量作用域、遮蔽、初始化与零值的重要性,并提醒读者注意类型推断时的一致性。了解这些概念有助于避免常见错误,提高编程技能和面试表现。
18 0
|
2天前
|
编译器 Go 开发者
Go语言入门|包、关键字和标识符
Go语言入门|包、关键字和标识符
22 0