核心结论 return 是编程语言里的返回语句,核心作用就是结束当前正在执行的函数,同时把指定的数据交还给调用这个函数的位置,不同编程语言比如 C 语言 Java Python 语法细节略有差别,但是核心逻辑保持一致,函数执行到 return 之后,后面剩余代码就不会继续运行,很多初学者容易误以为 return 只是用来返回数值,忽略它终止函数这个关键功能,这也是编程入门最容易踩坑的地方,return 可以返回数值 字符串 布尔值 对象,也可以不带任何返回值,代表只退出函数,没有数据回传,理解 return 的作用,是掌握函数封装 模块化编程的基础,不管是写分支判断 递归调用 还是错误拦截,都离不开 return。
基础概念说明
函数本身就是一段独立封装的代码块,外部调用函数的时候,经常需要拿到函数内部运算出来的结果,return 就是搭建这条数据传递通道的关键字,没有 return 的函数,一般叫做无返回值函数,执行完函数全部代码之后自动退出,不会向外传递数据,有 return 的函数叫做有返回值函数,可以把运算结果传回调用处,方便后续代码继续使用这个结果。
return 核心两大功能清单
第一 终止函数执行
只要程序运行到 return 语句,立刻跳出当前函数,函数内部 return 后面写的代码全部不再执行,这个特性经常用来做提前退出,比如参数校验失败,直接 return,不用继续执行后面业务代码。
第二 返回数据给调用方
return 后面可以跟上需要传递的数据,这个数据就是函数的返回值,调用函数的位置可以接收这个返回值,赋值给变量,或者直接参与运算。
不同场景用法分层
| 场景 | 用法说明 |
|---|---|
| 带返回值 | return 表达式,把运算结果返回,比如 return a+b |
| 无返回值 | 单独写 return,只退出函数,不传递数据 |
| 多分支 return | if 判断里面写多个 return,满足哪个分支就执行对应的 return |
| 递归函数 | 递归里面 return 非常关键,用来把递归层层计算的结果向上传递 |
| 错误拦截 | 参数不合法时提前 return,防止后续代码报错 |
编程使用步骤
第一步 确认当前函数是否需要对外输出运算结果,如果不需要结果,只需要结束函数,就可以单独写 return。
第二步 如果需要返回数据,在 return 后面写表达式 变量 常量,注意数据类型要和函数声明的返回类型匹配,比如 C 语言声明 int 类型函数,return 后面就不能返回小数。
第三步 注意代码顺序,把 return 放在合适位置,避免写在永远执行不到的死代码区域,编译的时候很多编译器会提示不可达代码警告。
第四步 测试调用,在主程序调用函数,用变量接收 return 返回的数据,打印验证数据是否正确传递。
常见误区
误区一 认为函数必须写 return,其实无返回值函数可以不写 return,函数执行完末尾会自动退出。
误区二 认为 return 后面可以写多条数据,大部分主流语言单个 return 一次只能返回一个值,部分语言支持元组形式实现多值返回,本质还是组合成一个整体对象。
误区三 执行 return 之后还会继续跑后面代码,这个是错误,return 一旦触发,函数立刻终止,后续代码不再运行。
总结 return 的作用主要就是终止函数和返回数据,它是函数机制的核心关键字,写代码的时候要区分带返回值和裸 return 两种写法,理解提前退出和数据回传两个核心能力,同时避开不可达代码 返回类型不匹配这些常见错误,就能熟练掌握 return 的作用。
【常见问题】
问题 1 return 的作用里面,执行 return 之后后面代码还会运行吗
回答 1 return 的作用包含终止函数,一旦执行 return,当前函数里面 return 后面的代码不会继续运行,这是 return 的作用很重要的一点。
问题 2 return 的作用是不是必须后面带返回数据
回答 1 return 的作用不是必须带返回数据,单独写 return 也可以,这个写法只实现退出函数,不会向外传递返回值。
问题 3 return 的作用在递归函数里面有什么特殊意义
回答 1 return 的作用在递归函数里面,除了终止递归分支,还负责把递归计算结果逐层回传给上一层调用,缺少 return 的作用,递归就无法得到最终运算结果。
【免责申明】
本文为编程语法学习资料,不同编程语言的 return 语法规则存在差异,仅作为通用原理学习参考,实际开发请对照对应语言官方文档规范。


