【一 Go 到底】第十六天 --- 函数
一、函数简介
1.1 何为函数
为完成某一功能的程序指令(语句)的集合,称为函数。在 Go 中,函数分为:自定义函数、系统函数(查看 Go 编程手册)
1.2 使用函数的优点
减少代码冗余
便于维护
1.3 基本语法
形参列表: 表示函数的输入
return 可以有也可以没有
二、函数案例
定义并使用一个计算功能的函数
三、包的引出和使用
3.1 包简介
包的本质实际上就是创建不同的文件夹,来存放程序文件
3.2 包的三大作用
区分相同名字的函数、变量等标识符
当程序文件很多时,可以很好的管理项目
控制函数、变量等访问范围,即作用域
3.3 打包基本语法
3.4 引入包的基本语法
3.5 包的快速入门案例
3.5.1 案例演示文件结构
src/go
main
main.go
utils
utils.go
3.5.2 定义 utils.go 中的函数
3.5.3 在 main 函数中调用
3.6 包的注意事项
在给一个文件打包时,该包对应一个文件夹,比如这里的 utils 文件夹对应的包名就是 utils,文件的包名通常和文件所在的文件夹名一致,一般为小写字母。
当一个文件要使用其它包函数或变量时,需要先引入对应的包
引入方式 1: import "包名"
引入方式 2:
package 指令在文件第一行,然后是 import 指令。
在 import 包时,路径从 $GOPATH 的 src 下开始, 不用带 src,编译器会自动从 src 下开始引入
为了让其它包的文件,可以访问到本包的函数,则该函数名的首字母需要大写,类似其它语言的 public,这样才能跨包访问。比如 utils.go 的
在访问其它包函数,变量时,其语法是包名.函数名,比如这里的 main.go 文件中
如果包名较长,Go 支持给包取别名,注意细节:取别名后,原来的包名就不能使用了
在同一包下,不能有相同的函数名(也不能有相同的全局变量名),否则报重复定义
如果你要编译成一个可执行程序文件,就需要将这个包声明为 main, 即 package main .这个就是一个语法规范,如果你是写一个库,包名可以自定义。
四、函数的调用机制
4.1 案例演示一
(1)在调用- -个函数时,会给该函数分配一-个新的空间,编译器会通过自身的处理让这个新的空间和其它的栈的空间区分开来
(2)在每个函数对应的栈中,数据空间是空间的,不会混淆
(3)当一个函数调用完毕(执行完毕)后,程序会销毁这个函数对应的栈空间。
4.2 案例演示二(函数返回)
五、 return 语句
5.1 return 基本语法
如果返回多个值时,在接收时,希望忽略某个返回值,则使用_符号 表示占位忽略
如果返回值只有一个(返回值类型列表) 可以不写()
5.2 案例演示(多返回值)
版权声明: 本文为 InfoQ 作者【指剑】的原创文章。
原文链接:【http://xie.infoq.cn/article/468ae263426553df94857dc7a】。文章转载请联系作者。
评论