请教如何学好 Go 语言,以及 Go 语言的未来前景如何?

2019-05-28 13:13:27 +08:00
 N1ceHua

本人目前是一名 phper,现在正准备学习 Go 语言,昨天看了一天的资料,从 Go 语言环境配置到基本程序结构、基础语法、数据类型、变量、运算符以及语句表达式等等,发现很难在看下去,了解了 Go 好像没有入门的框架去实践学习,所以想在此请教如何实践性的去学习 Go 语言,谢谢。

6307 次点击
所在节点    Go 编程语言
29 条回复
jxf2008
2019-05-28 13:38:31 +08:00
类似 c#,编程语言的成功与否,出了本身的性能外,公司之间的角力也是重要因素

C#始终没有大红大紫并非自身问题,语言本质是一种标准,显然,其他公司并不愿意看见 C#做大

go 语言本身性能出众,至少目前如此,但 go 的最大问题是却并不是自身的性能,

就行我们用 java 开发安卓许多年,kotlin 一出现,谷歌立马将其列为第一推荐的安卓开发语言

------转自论坛上的某位水友
iRiven
2019-05-28 13:41:58 +08:00
自己私底下爽一爽 也就这样一个状态
jon
2019-05-28 13:49:10 +08:00
谷歌是美国公司,到时谷歌不让你用怎么办蛤蛤
lepig
2019-05-28 13:57:51 +08:00
自从用了 PHP 看 Golang 真的感觉写起来没 PHP 的随心所欲。
但是想想 Golang 的优势 还是死啃一下,目前公司没有项目需求就学学。
fuxiaohei
2019-05-28 14:00:43 +08:00
Go 可以学,但是实践出经验,和项目经历有关系,和 Go 没关系
jxf2008
2019-05-28 14:02:29 +08:00
@jon
FBI 警告我,有些电影不能看,我都看了无数了,也没见美帝把我怎么样。。。
baiyi
2019-05-28 14:02:39 +08:00
推荐 Go 语言圣经《 The Go Programming Language 》 ,每个知识点都有示例,还有练习题
jswh
2019-05-28 14:08:07 +08:00
这有什么看不下去的........直接官网上的 Tour 过两遍就能基本能上手了吧,语法就那么点。然后用 go 刷一点 leetcode 巩固一下还能顺便练习算法,有时候忘记了 go by example 是个好帮手。然后实践的话建议用 go 写 tcp/udp 这种长连接服务练手,比如写个聊天室 /IM,这时候你就会忘了 PHP 了。

“ golang,长链接界的 PHP ”
—— jswh

P.S 我也是 PHPer
P.S 2 rust 才是语法都看不懂,刷 leetcode 明明知道解法,代码就是通不过编译
myyou
2019-05-28 14:08:24 +08:00
go 不是有 web 框架 gin,echo,beego,ORM 有 gorm 和 xorm,可以把你之前的项目用 go 重做一遍。
还有不要听楼上鬼扯,“什么私底下爽一爽的状态”--现在很多公司都在用 go,“ c#没有大红大紫”--c#没有像 java 通吃 web service 和移动端是因为很长一段时间 dotNet 平台都是非开源和跨品台的,“ kotlin 一出现就被选为第一推荐的安卓开发语言”--那是因为 Android 在虚拟机长久优化上,决定 Android 品台不可能随便换与之无关的语言。
VDimos
2019-05-28 14:23:45 +08:00
@jswh rust 用来解 leetcode 是很难受的的,rust 所有权系统和数据结构冲突了,我写的时候用了很多的 unsafe 来解决问题
jswh
2019-05-28 14:41:35 +08:00
@VDimos 是的
petelin
2019-05-28 15:37:53 +08:00
现在用 go 的很多 多用工程化思想去写代码
比如有 err 就要想一下怎么处理
chaplinj
2019-05-28 15:55:21 +08:00
go 现在很火好吧,,这里不说 java 了,我也是个现在写 java 的,,,不过 GO 是很火的!这点儿我百分百确定
zhixuanziben
2019-05-28 19:53:31 +08:00
比较看好,兼顾性能和开发效率,正在学习中。
12101111
2019-05-28 21:24:01 +08:00
抱着写框架的心态去写是学不进去的.要真心的觉得学的东西有用,而不是应付差事的机械的看书 /文章,尤其是看那些宣传气息很重的网文,没用的.
最好的学习语言的方法还是造轮子,一定要上手写代码,写上一万行一般就熟练了.
至于什么轮子呢,我觉得造一个梯子服务器不错
--------------------
以目前的前景看,GO>Java>PHP . Golang 是 Java 和 PHP 的优秀替代品(仅在互联网业务上)
Google 的背景让 Go 更火,不会让 Go 衰败(至少不会像微软之于.net 那样的影响).唯一影响 Go 前景的是 Go2.0 的改动.
至于.net 的命运,短期内很难预计.
______________

不过我觉得 Golang 的 if err!=nil 过于恶心.
我主要写 Rust,拿 monad 处理错误简直完美.
不过 Rust 很难达到上面这些语言的流行度,学习难度大,编译速度慢.
@VDimos unsafe 没有问题啊,拿 C 语言指针那一套搞就行了
VDimos
2019-05-28 21:53:39 +08:00
@12101111 用 Rust 的 unsafe,心里总觉得别扭
trait
2019-05-28 22:56:14 +08:00
@VDimos 还是要再熟悉一下标准库,刷了不少 lc 了,还没遇到 unsafe
beidounanxizi
2019-05-28 23:39:26 +08:00
只要大厂还用 JAVA,Go 还只是个小三
但不妨碍小三 以后会变正房 毕竟我觉得 go 的好处还是比 python php 好用的多
这是我对 Go 和 JAVA 的看法 233
nonfu
2019-05-28 23:54:26 +08:00
正好最近在更新 Go 入门教程,不妨一看: https://laravelacademy.org/golang/go-basic
wee911
2019-05-29 04:50:59 +08:00
@jswh rusy 体验太差了,没有一款好用的编辑器,写了几句就编译不通关,go 是最简单的语言之一,上手难度非常低

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/568357

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX