关于 GO 语言的入门学习 求解答

2017-08-29 11:25:08 +08:00
 2ME

目前做 PHP 工作就是拧螺丝 ..

拧完螺丝后还是有些富余时间的 想学习一下 GO

希望能顺便补一下 CS 基础 自己基础比较差

目前 GO 吸引我的特性主要是并发支持比较好

最近工作为了脚本效率需要接触一些并发编程 然后遇到比较多坑 锁机制 内存泄漏

可能是自己水平确实太差 = =

所以想借着学习一门新的语言的新鲜感顺便恶补基础知识 提升下自己

也想接触到 PHP 编程一般接触不到的东西

之前没接触过 C 语言 所以对 GO 的一些东西比较难理解

所以想知道如何系统性的学习 GO

语法还是比较好理解的 主要不是很懂 GO 的结构,关于包的一些东西 似乎和 composer 的 package 还是有很大区别的

不知道如何开始敲代码入手去做一些东西实践学习

7598 次点击
所在节点    程序员
41 条回复
zjsxwc
2017-08-29 11:31:22 +08:00
go 语法太简单,有 ide 自动提示辅助的时候,不用怎么学就能写代码了。
Immortal
2017-08-29 11:32:03 +08:00
go 语言实战 go 语言学习编辑 算对我帮助不少的书
同 php 转
ecofast
2017-08-29 11:32:28 +08:00
SuperMild
2017-08-29 11:38:15 +08:00
- https://play.golang.org/
> 学完这个就已经具备基础知识

- https://golang.org/doc/code.html
> Go 的包非常简单,全部项目都在同一个目录里( gopath ),刚开始没有必要自己搞特殊目录。

- http://golang.org/doc/effective_go.html
> 这个值得反复多看

- http://exercism.io/languages/go/about
> 这个练手找感觉,有语言风格提示可以养成好习惯,看别人的答案有新灵感。
WildCat
2017-08-29 11:40:04 +08:00
非常不认同“ Go 语法简单,有 IDE 提示不用学”这种观点,私以为以下几个点特别需要注意:
1. interface
2. 并发编程的思想(尤其从 PHP 转过来的)、锁、channel 等
3. 标准库

学习资料只推荐一本书:Go 程序设计语言(英文版),艾伦 A.A.多诺万 (Alan A.A.Donovan)、 布莱恩 W.柯尼汉 (Brian W.Kemighan)
从 Amazon 来看,中文译本质量极差。

其他国人的书请慎重购买,尤其是某 CTO 和某框架作者的。
PythonAnswer
2017-08-29 11:43:47 +08:00
py 写惯了,真不想写 go。。懒病是不是要电才行?
chenqh
2017-08-29 11:46:00 +08:00
@PythonAnswer 所以我学 js 去了,前端 py 做不了
goodspb
2017-08-29 11:55:30 +08:00
关键还是基础吧,C 圣经,Unix 编程圣经,网络圣经其实都是必须掌握的,否则就算你学懂了 Go 的语法,又能拿它开发什么样的应用呢?(同 PHP 程序员..
Death
2017-08-29 11:58:46 +08:00
@WildCat
Go 语言圣经的话,社区汉化版的质量感觉还可以
2ME
2017-08-29 11:59:26 +08:00
@WildCat interface 概念似乎和 PHP 的 interface 没什么区别

主要是为了学习关于并发编程的思想,锁 等相关的一些知识
2ME
2017-08-29 12:02:53 +08:00
@goodspb 已经意识到了关键是基础 所以想借着学习一门新的语言的新鲜感补充基础 文中有提 .. 主要是现在单独去看基础书实在看不下去.. 犯困
2ME
2017-08-29 12:04:06 +08:00
@PythonAnswer 我也是懒癌晚期 学 GO 这个想法几个月前就有了 拖到现在感觉不学点东西不行了.. 每天拧螺丝学不到什么 自己还不上进 感觉要死
wweir
2017-08-29 12:24:27 +08:00
@WildCat 国人的书还是有一个不错的
雨痕的读书笔记
mikulch
2017-08-29 12:50:58 +08:00
@WildCat 中文译本有幸看过
实在是太他妈的烂了。
eyp82
2017-08-29 13:11:48 +08:00
Go 语言的精髓在于那个 goroutine+channel, 虽说解决了大部分的并发问题, 但还是要做同步的
EricJia
2017-08-29 13:57:32 +08:00
g8287694
2017-08-29 14:02:43 +08:00
和我想的差不多,同 php 程序员
jaylee77
2017-08-29 14:22:57 +08:00
推荐 《 Go In Action 》 看了这本书就并发编程就没什么问题了
wuhau
2017-08-29 14:36:46 +08:00
ETiV
2017-08-29 14:37:11 +08:00
我接触过一个线上项目,用的 go

感觉在真正能上线的项目里,最致命的是 GitHub 上那些良莠不齐的库……

比如某个 Orm,初始化时的主键为 0、nil
在 Save 的时候,执行的 mysql 语句,并没有“ where id=0 ”,也没有“ limit 1 ”

然后整张表就这么被 update 了😂

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

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

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

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

© 2021 V2EX