PHP转Go,框架选什么?_goframe gozero(1),Golang中高级岗面试为何越来越难

为什么?

和PHP的Laravel简直太像了,用起来太香了,很顺手。

为什么不火?

对新手不友好,有门槛。

GoFrame特点

优势:

  • 模块化
  • 高性能
  • 企业级

劣势:

  • 有学习门槛
  • 版本兼容性不好
  • 暂不支持微服务

框架选型

谁适合用GoFrame

  • PHP转Go(Laravel的同学会用起来很爽)
  • Java转Go (Spring Boot的同学会用起来很爽)
  • 比较复杂的企业级单体项目 (很规范,维护成本低,少踩很多坑)

谁不适合用GoFrame

  • 编程小白(容易被劝退)
  • 特别简单的项目用gin等轻量级框架(杀鸡焉用牛刀)
  • 非常复杂的分布式微服务项目用go-zero等微服务框架(没有任何一款框架是万能的)

GoFrame框架设计思想

这些不作为本期内容的重点,大家可以直接阅读官方文档。

我也有计划录制视频,结合我们的商业项目,站在使用者的角度去分享使用GoFrame的感受,如何理解框架的设计思想。

开发流程

我梳理的 GoFrame V2最新版的开发流程

从0到1

  1. 设计表结构
  2. 使用gf gen dao 生成对应的 dao/do/model
  3. 编写api层:定义业务侧数据结构,提供对外接口的输入/输出数据结构
  4. 编写model层:定义数据侧数据结构,提供对内的数据处理的输入/输出数据结构
  5. 编写logic层,自动生成service层代码。(通过配置goland File Watcher自动生成,也可以通过gf gen service手动执行脚本生成,建议前者)
  6. 在service层代码生成RegisterXX()方法后,在对应的logic模块注册服务(每个模块只需要写一次)
  7. 编写controller层,接收/解析用户输入的参数,调用service层的服务。
  8. 注册路由,对外暴露接口,比如这个项目是编写cmd.go文件。
  9. 在main.go中 加入一行 _ “project-name/internal/logic” (只需写一次)
  10. 在main.go中加入一行 _ “github.com/gogf/gf/contrib/drivers/mysql/v2” (如果你使用的是mysql;只需写一次)

核心步骤

  1. 编写api层:定义业务侧数据结构,提供对外接口的输入/输出数据结构
  2. 编写model层:定义数据侧数据结构,提供对内的数据处理的输入/输出数据结构
  3. 编写logic层,自动生成service层代码。(通过配置goland File Watcher自动生成,也可以通过gf gen service手动执行脚本生成,建议前者)
  4. 编写controller层,接收/解析用户输入的参数,调用service层的服务。
  5. 注册路由,对外暴露接口,比如这个项目是编写cmd.go文件。

总结

没有一个框架是万能的,也没有一个语言是万能的。

结合自己的需求去选择合适的框架,合适的开发语言。

不要被眼前暂时的得意或者失意“一叶障目”,结合实际情况,实事求是,拥抱变化,不断学习,才能“见泰山”。

面向“养家糊口”编程,能稳定赚钱的职业才是好职业。

视频

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Go语言工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Go语言全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Golang知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加V获取:vip1024b (备注Go)
img

一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

图片转存中…(img-VV29wsVf-1712980428177)]

一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 25
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 如果你正在考虑从PHP到其他编程语言,那么你需要考虑自己的目标以及你希望达到的目标所使用的语言。 Java和Go都是流行的编程语言,但它们适用于不同的场景。 Java是一种面向对象的编程语言,广泛用于企业级应用开发。它在许多平台上都可以运行,并且有许多丰富的库和工具可供使用。如果你希望开发企业级应用或者对对象导向编程有所了解,那么Java可能是一个不错的择。 Go是一种新兴的编程语言,特别适合于开发高性能、可伸缩的服务器端应用。它具有简洁的语法、快速的编译速度和内存安全的特性。如果你希望开发高性能的服务器端应用,或者对并发编程感兴趣,那么Go可能是一个不错的择。 总的来说,你应该根据自己的目标和兴趣来决定使用哪种语言。这意味着你应该了解这两种语言的特点,并考虑哪种语言更适合你的目标。 ### 回答2: 在决定使用PHP、Java还是Golang之前,首先要考虑以下因素: 1. 经验和熟练程度:如果你已经熟练掌握PHP,并且在该领域有丰富的经验,那么继续使用PHP可能是一个不错的择。如果你对Java或Golang有更多的经验或更感兴趣,那么向这些语言可能是一个好的决定。 2. 项目需求:不同项目可能对不同语言有不同的要求。PHP是一个流行的Web开发语言,特别适合快速构建动态网站或应用程序。Java是一个面向企业级应用的强大语言,适用于大型复杂的项目。Golang是一个优秀的高性能语言,特别适用于构建网络服务和分布式系统。 3. 性能和扩展性:如果你对性能有很高的要求,那么Golang可能是一个更好的择。Golang以其高效的并发性能而闻名,能够轻松处理大量的请求和高并发。Java也具有很高的性能和可扩展性,但相对于Golang而言,可能稍微慢一些。PHP的性能相对较低,特别是在处理高并发时。 4. 生态系统和社区支持:Java和PHP都有非常庞大的社区和成熟的生态系统。Java有大量的框架、工具和库可供择,并且有很多优秀的开发者社区可以提供帮助和支持。PHP也有很多框架和库可供择,并且有庞大的开发者社区。相比之下,Golang的生态系统和社区相对较小,但也在不断发展中。 5. 学习曲线和开发效率:PHP的学习曲线相对较低,上手比较容易,可以快速开发Web应用。Java和Golang的学习曲线较陡峭,学习和掌握它们需要更多的时间和精力。但一旦掌握,它们可以提供更多的开发工具和功能,以提高开发的效率和质量。 综上所述,PHP、Java还是Golang取决于你的需求、经验和偏好。如果你已经熟悉PHP,并且项目需求适合使用PHP,那么继续使用它可能是一个不错的择。如果你对性能、扩展性和高并发要求较高,可以考虑使用Golang。如果你需要构建复杂的企业级应用,并且有足够的时间和精力来学习,那么Java可能是一个更好的择。最终,择最适合你当前项目和未来发展的语言是最重要的。 ### 回答3: 择是基于具体需求和项目要求的。以下是针对PHP、Java和Golang的比较: 1. PHPPHP是一种非常流行的服务器端脚本语言,特别适用于开发Web应用程序。它的易学性和广泛的社区支持使其成为许多开发人员的首语言。如果项目的主要目标是Web开发,而且需要快速开发和部署,那么PHP可能是一个很好的择。 2. Java: Java是一种广泛使用的编程语言,具有强大的面向对象编程能力,可以用于开发各种类型的应用程序。Java具有良好的可扩展性和稳定性,并且适用于大型和复杂的项目。如果项目有更高的性能要求、大规模并发需求或需要与其他高级语言集成,那么Java可能是更好的择。 3. GolangGolang(也称为Go)是一种相对较新的编程语言,由Google开发。它是一种系统级编程语言,专注于高并发性能和简洁的语法。Golang具有出色的性能和并发处理能力,并具有自动垃圾回收等现代特性。如果项目对性能和并发要求较高,并需要开发高效的后端服务,那么Golang可能是更好的择。 结论:PHP、Java还是Golang取决于项目的特定需求。如果项目需要快速开发和部署,以及广泛的社区支持,那么PHP可能是一个好的择。如果需要开发大规模且复杂的应用程序,与其他高级语言集成以及更高的性能需求,那么Java可能更合适。而如果项目对高并发性能和简洁的语法有更高的要求,Golang可能是更好的择。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值