GO语言包的使用

90 阅读3分钟

Go语言通过包机制来组织代码,促进模块化和重用性。每个Go源文件必须声明它所在的包,通常在文件顶部使用package关键字。核心概念和使用方法包括:

  1. 包的导入:使用import关键字导入其他包,可以导入标准库、第三方库或自定义包。支持单独导入和整体导入(如import ("fmt"; "math"))。
  2. 标准库:Go提供了丰富的标准库,涵盖了常用功能,如字符串处理、网络编程、文件操作等。常用的标准库有fmt,net/http,os等。
  3. 自定义包:开发者可以创建自己的包,便于维护和重用代码。包文件通常存放在具有相同名称的目录下,文件名通常以.go结尾。
  4. 包的可见性:包内的标识符(变量、函数、类型等)以大写字母开头则公开(可被其他包访问),以小写字母开头则私有(只能在同一包内访问)。
  5. 使用和管理依赖:使用go.mod文件来管理包的依赖,支持模块的版本控制,提升项目结构的组织性。
  6. 文档生成:Go工具可以自动生成文档,使用go doc命令可以查看包的文档,可用于检查函数、方法、类型的详细信息。

总结:Go语言的包机制极大地增强了代码的可读性和可维护性。通过合理组织和管理包,开发者可以更高效地构建和维护Go应用程序。

Go语言的包机制极大地增强了代码的可读性和可维护性。通过合理组织和管理包,开发者可以更高效地构建和维护Go应用程序。

1."src"目录是以代码包的形式组织并保存go源码文件的。每个代码包都和"src"目录下的文件夹一一对应。每个目录都是一个代码包。

2.可以通过路径导入如: import “123/1111”绝对路径 import "./789"相对路径

/* 关于包的使用: 1.一个目录下的统计文件归属一个包。package的声明要一致 2.package声明的包和对应的目录名可以不一致。但习惯上还是写成一致的。 3.包可以嵌套 4.同包下的函数不需要导入包,可以直接使用 5.main包,main()函数所在的包,其他包不能使用 6.导入包的时候,路径要从"src"下开始写 */

代码中的操作: 点操作:若在包的前面加上.可以在下方使用的时候不用写包名 起别名:在包的前面加上一个别名 _操作:仅仅只是导入包进行初始化操作,并不能使用包里的其他函 数,常量等资源。如 _ "fmt"

在调用另一个包的结构体的时候要注意顺序相同,或者前面表明例如:NAME : YUI;

一个包想用,另一个包中的函数,在import中声明包路径

!!!包里的函数开头要大写才能访问

管理外部包: github: 管理MySQL的包:localhost:~ ruby$ go get github.com/go-sql-driver/mysql 闭包(closure):是由一个函数和其相关的引用环境组合的一个整体。(闭包=函数+引用环境

闭包的作用就是在a()执行完并返回后,闭包使得Javascript的垃圾回收机制GC不会收回a()所占用的资源,因为a()的内部函数b()的执行需要依赖a()中的变量i。 例如: package main import ( “fmt” ) func a() func() int { i : = 0 b : = func() int { i++ fmt.Println(i) return i } return b } func main() { c : = a()//这儿相当于调用匿名函数,无参的 c() c() c() a() //不会输出i } // 1 2 3

!!!闭包复制的是原对象指针,这就很容易解释延迟引用现象。