这是我学go的第N天,但这是我用go写的第一个项目 文章 2021-08-17 18:57:33 +0800 CST 阅读:2276 评论数:1 说来很惭愧,从事PHP开发很久了,一直想要系统的学习一下go,但是总是一拖再拖,每次就草草看一点文档,然后又放下,如此反反复复时间过了很久,还是没有什么进步,工作和生活固然有很多事情,但是时间就像是挤牙膏一样挤挤就出来了... 我相信很多小伙伴跟我一样,**坚持不下去对的原因有以下几点** - 因为平时的工作大多还是PHP为主,有替代者就不会把自己逼上绝路,在不打算换工作的情况下,就很难强制自己去学习。 - 并主要工作还是PHP开发,在不挤牙膏的情况下时间确实不是很多,毕竟本质工作还是要干好。 - 年纪影响,我只说90后,目前都在30出头的年纪,大概率是有家庭的了,除了工作还要照顾家庭,多陪陪孩子、家人,人的精力真的很有限,导致不能持久性的输出学习。 但是到了我们这个年纪,尤其是干PHP的各位来说,真的处境不是特别好,PHP短板明显,技术天花板、薪资天花板比起c,java,c++来说算低的。 - 你是不是没见过大厂CTO是PHP出生? - 是不是发现PHP要突破30K会很难? - 是不是发现在大数据面前难以见到PHP的身影? 没办法,很现实的问题,PHP就是作为大小厂小数据过度语言,一旦业务量起来就会容易被Java,c++,c 替换掉。 想要提升职业竞争能力,就只能提高自己的技术技能,go相对于phper 来说算是比较友好,对于web来说思路一样,就是具体实现不一样,这样我们只需要查看具体实现的文档即可。 我学习go,是前前后后大概看了下基础语法,就开始着手尝试写一个项目,这也是 这个博客的由来。 因为我发现,光是看不写,就很难找到学习的方向,不知道下面到底该学啥了,这样大概率就放下了,很难获得突破性的成长。 因为我们做php开发,web是我们最擅长的领域了,因此我决定用go来写一个简单的web网站,历时一周,边写边翻阅文档,过程真的很痛苦,中间遇到了很多问题,解决之后觉得成长真的蛮大。 虽然这个项目很简单,也是我踏出的第一步,下面是源代码: > http://go.phpbloger.com/coding 项目结构: ``` ├── README.md ├── app │ ├── controller │ │ ├── article.go │ │ ├── base.go │ │ ├── comment.go │ │ ├── detail.go │ │ ├── index.go │ │ └── pages.go │ ├── model │ │ ├── article.go │ │ ├── captcha.go │ │ ├── category.go │ │ ├── comment.go │ │ └── config.go │ └── view │ ├── article │ │ ├── detail.html │ │ └── index.html │ ├── index │ │ └── index.html │ ├── pages │ │ └── index.html │ └── public │ ├── comment.html │ ├── footer.html │ └── header.html ├── common │ └── common.go ├── config │ └── config.go ├── database │ └── db.go ├── dev.yaml ├── go.mod ├── go.sum ├── gobloger.sql ├── main.go ├── pro.yaml ├── route │ └── route.go └── static ``` 看到上面的目录结构是不是是曾相识?没错,这就是利用PHP常用的mvc思想构建的web目录结构。 所以回到之前所说,使用不同语言写一个项目,最终结果是一样的,那么编程思路也有很大的共同点,唯一不同的就是具体实现,因此有思路再翻文档看具体的实现就会更快的学习和掌握。 数据库文件也放在里面了,clone 之后 go build 即可。 最后希望跟大家一起学习一起进步,相互督促。