目前做 PHP 工作就是拧螺丝 ..
拧完螺丝后还是有些富余时间的 想学习一下 GO
希望能顺便补一下 CS 基础 自己基础比较差
目前 GO 吸引我的特性主要是并发支持比较好
最近工作为了脚本效率需要接触一些并发编程 然后遇到比较多坑 锁机制 内存泄漏
可能是自己水平确实太差 = =
所以想借着学习一门新的语言的新鲜感顺便恶补基础知识 提升下自己
也想接触到 PHP 编程一般接触不到的东西
之前没接触过 C 语言 所以对 GO 的一些东西比较难理解
所以想知道如何系统性的学习 GO
语法还是比较好理解的 主要不是很懂 GO 的结构,关于包的一些东西 似乎和 composer 的 package 还是有很大区别的
不知道如何开始敲代码入手去做一些东西实践学习
1
zjsxwc 2017-08-29 11:31:22 +08:00 1
go 语法太简单,有 ide 自动提示辅助的时候,不用怎么学就能写代码了。
|
2
Immortal 2017-08-29 11:32:03 +08:00 1
go 语言实战 go 语言学习编辑 算对我帮助不少的书
同 php 转 |
3
ecofast 2017-08-29 11:32:28 +08:00 1
|
4
SuperMild 2017-08-29 11:38:15 +08:00 2
- 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 > 这个练手找感觉,有语言风格提示可以养成好习惯,看别人的答案有新灵感。 |
5
WildCat 2017-08-29 11:40:04 +08:00 5
非常不认同“ Go 语法简单,有 IDE 提示不用学”这种观点,私以为以下几个点特别需要注意:
1. interface 2. 并发编程的思想(尤其从 PHP 转过来的)、锁、channel 等 3. 标准库 学习资料只推荐一本书:Go 程序设计语言(英文版),艾伦 A.A.多诺万 (Alan A.A.Donovan)、 布莱恩 W.柯尼汉 (Brian W.Kemighan) 从 Amazon 来看,中文译本质量极差。 其他国人的书请慎重购买,尤其是某 CTO 和某框架作者的。 |
6
PythonAnswer 2017-08-29 11:43:47 +08:00 1
py 写惯了,真不想写 go。。懒病是不是要电才行?
|
7
chenqh 2017-08-29 11:46:00 +08:00 via iPhone 2
@PythonAnswer 所以我学 js 去了,前端 py 做不了
|
8
goodspb 2017-08-29 11:55:30 +08:00 2
关键还是基础吧,C 圣经,Unix 编程圣经,网络圣经其实都是必须掌握的,否则就算你学懂了 Go 的语法,又能拿它开发什么样的应用呢?(同 PHP 程序员..
|
10
2ME OP |
11
2ME OP @goodspb 已经意识到了关键是基础 所以想借着学习一门新的语言的新鲜感补充基础 文中有提 .. 主要是现在单独去看基础书实在看不下去.. 犯困
|
12
2ME OP @PythonAnswer 我也是懒癌晚期 学 GO 这个想法几个月前就有了 拖到现在感觉不学点东西不行了.. 每天拧螺丝学不到什么 自己还不上进 感觉要死
|
15
eyp82 2017-08-29 13:11:48 +08:00
Go 语言的精髓在于那个 goroutine+channel, 虽说解决了大部分的并发问题, 但还是要做同步的
|
16
EricJia 2017-08-29 13:57:32 +08:00
|
17
g8287694 2017-08-29 14:02:43 +08:00
和我想的差不多,同 php 程序员
|
18
jaylee77 2017-08-29 14:22:57 +08:00
推荐 《 Go In Action 》 看了这本书就并发编程就没什么问题了
|
19
wuhau 2017-08-29 14:36:46 +08:00
|
20
ETiV 2017-08-29 14:37:11 +08:00 via iPhone
我接触过一个线上项目,用的 go
感觉在真正能上线的项目里,最致命的是 GitHub 上那些良莠不齐的库…… 比如某个 Orm,初始化时的主键为 0、nil 在 Save 的时候,执行的 mysql 语句,并没有“ where id=0 ”,也没有“ limit 1 ” 然后整张表就这么被 update 了😂 |
21
goodspb 2017-08-29 15:11:05 +08:00
@2ME 明白了,其实是想找练手吧?假如是想深入学习服务器开发的,用 Go 开发反而没有帮助,因为绝大多数都是已经将底层封装好的类库了。想了解系统知识的话,建议还是 C/C++ -> PHP 扩展 -> Unix 编程 这线路吧。(例如先读懂 swoole , 从一个 php 开发者角度分析你的需求)
|
22
cokyhe 2017-08-29 16:26:57 +08:00
这个可以有
|
23
mengzhuo 2017-08-29 17:21:47 +08:00
工作是扭螺丝,你以为换个螺丝刀就不是扭螺丝了么~
|
26
wwek 2017-08-29 21:31:57 +08:00
https://gobyexample.com/
Go by Example is a hands-on introduction to Go using annotated example programs. Check out the first example or browse the full list below. 把这个多撸几遍 |
29
carlonelong 2017-08-29 21:46:02 +08:00
还是学学 C 吧,不然指针什么的都没概念怎么深入玩 go
|
31
ETiV 2017-08-29 23:04:31 +08:00 1
@wwek
http://jinzhu.me/gorm/crud.html#update // Update with struct only works with none zero values, or use map[string]interface{} db.Model(User{}).Updates(User{Name: "hello", Age: 18}) //// UPDATE users SET name='hello', age=18; |
32
pubby 2017-08-29 23:20:36 +08:00 via Android
|
33
chuhemiao 2017-08-29 23:22:20 +08:00
Go 语言学习笔记=》雨痕
|
36
HarrisonZ 2017-08-30 14:53:38 +08:00
@ETiV gorm 用 save 的时候不是先 find 出来对象,或者在主键都有值的情况下才用 save 吗,初始化新值难道不是用 craete
|
37
iRiven 2017-08-30 16:05:27 +08:00 via Android
代码撸起来,不然永远不会知道原来还有这回事
|
38
windyboy 2017-08-30 17:07:48 +08:00
我不明白为什么要用 ORM 这些东西
直接写 SQL 不好吗? |