0

0

关于PHP5.3中加入的goto语句的详解

黄舟

黄舟

发布时间:2017-06-25 13:33:08

|

2595人浏览过

|

来源于php中文网

原创

在“转到”直出的asm或任何其他汇编语言。 这里有一个链接: 我想知道:什么可以做这个,使我的代码更我怎么能在这个较大的项目,没有振作起来。 由于goto语句可以让你来回跳转,偶然的,无限循环等待,如果这种情况发生了错误的方式。 可以在一个这样的例子? 编辑:好吧,我见过的答复 codego.net,显然广泛存在有关的“goto”,它是坏的。 所以我一直在想:为什么php的trouble将其添加到该语言。如果他们在里面没有看到,他们不会做...为什么? 另外:一个在这里的stackoverflow一般约“转到” edit2:看作为这个问题引起了很多不好的事情要难过我去,问我父亲的跳转。他是52岁,是一名工程师。他一对夫妇,他在他的日子,大多在fortran和cobol编程做了一个良好的数额。如今他做it服务,服务器及与此类。 无论如何,他说那些关于“回到我的天......” 在那之后了一下,他回转到说,甚至早在他的日子,作为一名学生,他们遗撼知道这是不是一个聪明的想法,但他们没有更好的当时的情况。 try / catch还是几年的时间和错误处理几乎excisted。 所以你做了检查您的程序是什么?在末尾加上几行,让您打印输出,你需要检查你的代码的一切,然后你把台词:“转到打印;”,或类似的,开始你的数据的打印。 并以这种方式,你慢慢调试你的代码。 他同意转到在现代编程世界的是他找到合理的是一个“紧急中断”,在调试和意外情况。有点像goto fatal_error;,并为你的代码“是fatal_error”部分做的事情,向您展示了深入的结果。但是,只有在创造的最终产品应该不会有跳转- 晚编辑:另一种在php5.3/php6关于“转到”

1. 如果你正在编写好的PHP代码,您应该不需要跳转。我认为这是一个错误,他们正在将它添加在,因为它只是导致懒惰编程。 看 对于一个好的上又增加了这一到PHP,而且,这里的堆栈溢出, 
2. 我只发现过的goto: 打出来的嵌套循环。但大多数新的语言必须做到这一点没有goto反正(break <number>在PHP中 CodeGo.net,或者break <loop label>在Java中,等等)。 去到一个函数的末尾清理部分。但是再次,这不是在一个垃圾收集的语言。 换句话说,如果你不知道你是否goto你不应该。 
3. 有没有这样的事情作为跳转。 也许,只是也许,它可能走出多重嵌套循环,但你已经可以做“破2”,这样的。标记符在Java中一样会比转到更好地为这一目的。 也许是与代码编写异常,当你需要跳到一堆一次其中一个发生故障的结尾。但是,这只是固定蹩脚的代码更蹩脚的代码。 
4. 它可用于调试目的,因此您不必出或代码重构块只是为了临时改变了工作线程。 
5. 在经典的VB编码,使用goto是很方便的用于仿真的try / catch错误处理是这样的:

Function MyFunction() as String
'-- start of error block
'
 On Error Goto Catch
 ' do something here that might cause an error
 MyFunction = "IT WORKED"
 Exit Function
 Catch:
 ' error occured - do something else
 MyFunction = Err.Description
 '
 '-- end of error block
End Function
...这里是一种模拟的try / catch /终于..Function MyFunction() as String
'-- start of error block
'
 On Error Goto Catch
 ' do something here that might cause an error
 MyFunction = "IT WORKED"
 Goto Finally
 Catch:
 ' error occured - do something else
 MyFunction = Err.Description
 Err.Clear
 Finally:
 ' put your finally code here
 '
 '-- end of error block
End Function

它也可以用于清除在函数的结尾,虽然我想你可以做另一个函数可以被调用来做到这一点的清理情况。 说实话,我从来没有在PHP中,我心想:“嗯,我希望能有一个goto我没有对他们为什么决定做这个读了,可是,那些家伙都是非常聪明,并有机会考虑到PHP的非常好的方向,到目前为止,所以也许正期待有必要,我们不知道呢。 
6. 对我具有在语言使用goto看到的是跨语言能力的端口。我写在C语言的解析器生成器生成解析器与goto语句(它比更理智的控制结构更容易使用goto),现在将它移植到PHP是没有那么多头疼的。 
7. 编写有限状态机的时候,goto是。当解析上下文释放你确实需要其中的一个。虽然我们可以生活在没有跳转,如果continue $case;是一个switch块中的有效跳转到一个不同的情况和关闭过程中有案范围尽可能多的语言时下有。在那之前,我们几乎套牢的goto。 
8. 跳转可以帮助减少代码重复的堆栈展开,在下面的伪代码:

AIBox 一站式AI创作平台
AIBox 一站式AI创作平台

AIBox365一站式AI创作平台,支持ChatGPT、GPT4、Claue3、Gemini、Midjourney等国内外大模型

下载
do A
if (error)
 goto out_a;
do B
if (error)
 goto out_b;
do C
if (error)
 goto out_c;
goto out;
out_c:
undo C
out_b:
undo B:
out_a:
undo A
out:
return ret;

(伪由罗伯特爱,从linux内核归档的邮件列表采取代码:) 
9. 由于之前已经说过,GOTO是唯一真正需要的类型的算法,通常是那些在语言解析或有限状态机。我从来没有错过在PHP缺乏goto语句。 OTOH,我有一个语言,其中只有两个结构是函数和条件goto方法:SNOBOL4。由于意大利面条代码的风险是如此之高,最SNOBOL4是/很小心的避免这一点。但是goto语句也使很紧的编程,创意循环执行等。它实际上是更容易做到的FSM型圈,如果你有在使用goto。 
10. 我承认我转到我的代码。 :) 唯一的理由似乎有利于在最短的flyway从其他语言到PHP(实际上只改变语言不碰控制结构)和重构代码的移植的第2阶段。 我个人认为和同事,因为他们可以避开有条件决裂-S的循环,他们将能够抵御转到诱惑。
11. 生成的代码可以使goto语句,我猜。对生成的代码的好处是,你并不需要去维护它-你只是重新生成它。 
12. goto真正应该尽管这是在语言,并会进行过时由于更好的编程实践。现在添加它似乎是一个倒退的一步。 
13. goto语句中的B大优势就是学习曲线。人们不禁要问,为什么像visualstudia和Mac电脑的工具做的很好。原因是,人们需要的不仅仅是一个伟大的产品,他们希望有一个 伟大的产品,他们可以在短短一个小时左右学习。现在很多 一个天只计划为他们的工作之一。我看到这么多的书说,一个人永远不能 使用goto语句,然后给五年左右的技术,例如,他们说每消除 需要它。我说,只是事实,5是该有多好转到证明 是!!我没有教的五件事,包括异常结构, 把整个章节来解释!!当你真正需要的是一个简单的跳转 可在30秒内进行解释。当然,你可以创建恶意代码与他们如果 希望---但是,嘿,最不想写糟糕的代码,如果他们 他们才可以呢。最goto语句在我们的实验室所做的代码简单 了解和学习;程度远远超过了读一本2000页的书。

相关文章

PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

php

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

WorkBuddy
WorkBuddy

腾讯云推出的AI原生桌面智能体工作台

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
TypeScript类型系统进阶与大型前端项目实践
TypeScript类型系统进阶与大型前端项目实践

本专题围绕 TypeScript 在大型前端项目中的应用展开,深入讲解类型系统设计与工程化开发方法。内容包括泛型与高级类型、类型推断机制、声明文件编写、模块化结构设计以及代码规范管理。通过真实项目案例分析,帮助开发者构建类型安全、结构清晰、易维护的前端工程体系,提高团队协作效率与代码质量。

26

2026.03.13

Python异步编程与Asyncio高并发应用实践
Python异步编程与Asyncio高并发应用实践

本专题围绕 Python 异步编程模型展开,深入讲解 Asyncio 框架的核心原理与应用实践。内容包括事件循环机制、协程任务调度、异步 IO 处理以及并发任务管理策略。通过构建高并发网络请求与异步数据处理案例,帮助开发者掌握 Python 在高并发场景中的高效开发方法,并提升系统资源利用率与整体运行性能。

46

2026.03.12

C# ASP.NET Core微服务架构与API网关实践
C# ASP.NET Core微服务架构与API网关实践

本专题围绕 C# 在现代后端架构中的微服务实践展开,系统讲解基于 ASP.NET Core 构建可扩展服务体系的核心方法。内容涵盖服务拆分策略、RESTful API 设计、服务间通信、API 网关统一入口管理以及服务治理机制。通过真实项目案例,帮助开发者掌握构建高可用微服务系统的关键技术,提高系统的可扩展性与维护效率。

178

2026.03.11

Go高并发任务调度与Goroutine池化实践
Go高并发任务调度与Goroutine池化实践

本专题围绕 Go 语言在高并发任务处理场景中的实践展开,系统讲解 Goroutine 调度模型、Channel 通信机制以及并发控制策略。内容包括任务队列设计、Goroutine 池化管理、资源限制控制以及并发任务的性能优化方法。通过实际案例演示,帮助开发者构建稳定高效的 Go 并发任务处理系统,提高系统在高负载环境下的处理能力与稳定性。

51

2026.03.10

Kotlin Android模块化架构与组件化开发实践
Kotlin Android模块化架构与组件化开发实践

本专题围绕 Kotlin 在 Android 应用开发中的架构实践展开,重点讲解模块化设计与组件化开发的实现思路。内容包括项目模块拆分策略、公共组件封装、依赖管理优化、路由通信机制以及大型项目的工程化管理方法。通过真实项目案例分析,帮助开发者构建结构清晰、易扩展且维护成本低的 Android 应用架构体系,提升团队协作效率与项目迭代速度。

92

2026.03.09

JavaScript浏览器渲染机制与前端性能优化实践
JavaScript浏览器渲染机制与前端性能优化实践

本专题围绕 JavaScript 在浏览器中的执行与渲染机制展开,系统讲解 DOM 构建、CSSOM 解析、重排与重绘原理,以及关键渲染路径优化方法。内容涵盖事件循环机制、异步任务调度、资源加载优化、代码拆分与懒加载等性能优化策略。通过真实前端项目案例,帮助开发者理解浏览器底层工作原理,并掌握提升网页加载速度与交互体验的实用技巧。

102

2026.03.06

Rust内存安全机制与所有权模型深度实践
Rust内存安全机制与所有权模型深度实践

本专题围绕 Rust 语言核心特性展开,深入讲解所有权机制、借用规则、生命周期管理以及智能指针等关键概念。通过系统级开发案例,分析内存安全保障原理与零成本抽象优势,并结合并发场景讲解 Send 与 Sync 特性实现机制。帮助开发者真正理解 Rust 的设计哲学,掌握在高性能与安全性并重场景中的工程实践能力。

227

2026.03.05

PHP高性能API设计与Laravel服务架构实践
PHP高性能API设计与Laravel服务架构实践

本专题围绕 PHP 在现代 Web 后端开发中的高性能实践展开,重点讲解基于 Laravel 框架构建可扩展 API 服务的核心方法。内容涵盖路由与中间件机制、服务容器与依赖注入、接口版本管理、缓存策略设计以及队列异步处理方案。同时结合高并发场景,深入分析性能瓶颈定位与优化思路,帮助开发者构建稳定、高效、易维护的 PHP 后端服务体系。

532

2026.03.04

AI安装教程大全
AI安装教程大全

2026最全AI工具安装教程专题:包含各版本AI绘图、AI视频、智能办公软件的本地化部署手册。全篇零基础友好,附带最新模型下载地址、一键安装脚本及常见报错修复方案。每日更新,收藏这一篇就够了,让AI安装不再报错!

171

2026.03.04

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PHP开发基础之类与对象篇
PHP开发基础之类与对象篇

共13课时 | 2.1万人学习

PHP Composer 视频教程
PHP Composer 视频教程

共10课时 | 6万人学习

PHP课程
PHP课程

共137课时 | 13.5万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号