type
status
date
slug
summary
tags
category
icon
password
AI summary
Go语言基础之函数
1. 什么是函数
函数是 Go 语言中实现代码复用的重要工具,它将一组执行特定任务的代码封装起来,可以通过函数名多次调用。
函数的特点
- 代码复用:相同的代码逻辑可以通过调用函数多次执行。
- 模块化:将代码分解为多个函数,提升代码的可读性和可维护性。
- 避免冗余:将重复的代码提取为函数,减少代码重复。
2. 函数的定义与调用
2.1 定义函数
在 Go 语言中,函数的定义格式如下:
func
:声明函数的关键字。
函数名
:函数的名称,遵循标识符命名规则。
参数列表
:函数的输入参数,可以有零个或多个参数。
返回值列表
:函数返回的结果,可以有零个或多个返回值。
函数体
:实现函数逻辑的代码。
2.2 调用函数
函数定义后,可以通过
函数名(参数)
的形式调用函数。示例代码:
2.3 返回多个值
Go 语言支持函数返回多个值。
示例代码:
3. 参数类型
3.1 参数传递
函数参数的传递分为以下两种:
- 值传递(默认):传递参数的副本,修改副本不会影响原变量。
- 引用传递:传递参数的内存地址,修改参数会影响原变量。
示例代码:
3.2 可变参数
Go 语言支持使用
...
语法来定义可变参数的函数。示例代码:
4. 匿名函数与闭包
4.1 匿名函数
匿名函数是没有名称的函数,可以直接定义并调用。
示例代码:
4.2 闭包
闭包是指函数内部引用了外部作用域的变量,形成一个封闭的环境。
示例代码:
5. defer 关键字
defer
用于延迟执行函数调用,通常用于资源释放操作。5.1 defer 的执行顺序
defer
语句会在函数返回前按照 后进先出 的顺序执行。示例代码:
输出结果:
6. 高阶函数
高阶函数是指将函数作为参数传递或返回的函数。
示例代码:
7. 总结
- 函数是 Go 语言中代码复用的基础工具。
- 函数可以有多个返回值,支持可变参数和闭包。
defer
关键字可以用于延迟执行操作。
- 高阶函数为函数提供了更多灵活性。
熟练掌握函数的定义和用法,有助于编写更加模块化、清晰的代码。
练习题
以下是三道关于Go语言函数的练习题,用于加添实际使用函数的熟练。
练习题1:计算一组数值的平均值
描述:写一个函数,接收一个整型数组,返回其中所有元素的平均值。
源码离线演示:
练习题2:写一个自增函数
描述:写一个函数,它返回一个自增函数。每次调用该自增函数,都返回次序值加一。
源码离线演示:
练习题3:将函数作为参数传递
描述:写一个函数
operate
,它接收一个函数参数,调用并执行这个函数。此外,实现两个基本函数,例如加法和减法,将它们传递给 operate
。源码离线演示:
- 作者:IT小舟
- 链接:https://www.codezhou.top/article/%E5%87%BD%E6%95%B0
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。