貌似 Golang 很火,想学一下

2018-09-10 10:35:53 +08:00
 chaomin1014

最近看很多公众号什么的在说 Golang 值得一学,有没有技术大佬推荐学 GO 语言的渠道~没学过编程。有什么学习视频或书籍可以介绍吗?谢谢啦~

18026 次点击
所在节点    程序员
140 条回复
kangkang
2018-09-11 10:47:09 +08:00
@myyou 认真的吗? https://tour.golang.org/moretypes/1 这是官方教程,你看第一句就够了
kangkang
2018-09-11 10:49:38 +08:00
@myyou 认真的吗? https://tour.golang 点 org/moretypes/1 这是官方教程,你看第一句就够了
myyou
2018-09-11 10:52:59 +08:00
@kangkang 认真的,指针只是个名字,学 golang 没必要再跑的 c 语言那边了解一遍这玩意儿
specita
2018-09-11 10:54:04 +08:00
如果英文好,去官网上学,都有教程。如果英文吃力,那看中文教程,我一般的方式直接去京东搜名称,然后买销售最好的那一个
sunzhenyucn
2018-09-11 10:55:55 +08:00
学 Golang 还得先学 C ?
瞎扯,那我学 C 之前是不是得先学下汇编?
学汇编之前是不是得先学会手写 0101 ?
手写 0101 之前是不是还得先手工造一台计算机出来?
AppxLite
2018-09-11 11:00:04 +08:00
讨论半天似乎都没结果,楼主自己看着办吧
Ediacaran
2018-09-11 11:09:29 +08:00
go 是用来写网络服务的 DSL,干别的不太合适
ryan1991
2018-09-11 11:18:53 +08:00
郝林的《 Go 并发编程实战》不错,他好像也在极客时间上开专栏了
SuperMild
2018-09-11 11:23:26 +08:00
@sunzhenyucn 不是说学 Go 要先学 C,而是楼主是零编程基础,对编程毫无概念的状态,入门的第一个语言,Go 不是很合适。

一般入门编程几条路:从童子功开始练,C 是合适的语言,或者走快速见效的路,Python 之类的合适,或者走培训班面向找工作的路线,Java 入门也行。

但 Go 入门,如果没有人手把手教,一个编程零基础的人靠自己看书看视频学,怎么看都不是一条好走的路。
Aoang
2018-09-11 11:29:19 +08:00
@clino 你钻牛角尖了。

零基础的人学的是编程,不是语言。
非要学 Golang 入门,和骑驴找马有什么区别?学会了 Golang 就行了,不用学编程吗?

你不了解是如何实现的,那你怎么知道该在什么时候用什么比较好?

切片数组这些都是很基础的东西,什么都不了解,还谈什么把业务逻辑抽象化?

至于看不看源码,那是你学不学的问题。
myyou
2018-09-11 11:32:34 +08:00
@SuperMild golang 相比 c,java 概念很少,新手最怕被各种概念搞定焦头烂额,我反而觉得很适合零基础的人入门。
clino
2018-09-11 11:39:53 +08:00
@Aoang 作为一个初学者,学切片数组会理解会用了就行了,为什么要去学 C 来学切片数组?C 里面又没有切片.

熟悉了以后要再学为什么这么设计,到底是怎么实现的,那时候已经不是初学者,已经比较深入了
我是从初学者角度出发,我在这里看到的这种奇怪论调根本不是从初学者角度出发,而是本身已经比较高阶的开发者的想当然
shm7
2018-09-11 11:44:22 +08:00
试试 julia
SuperMild
2018-09-11 11:46:59 +08:00
@myyou Go 入门也不是不行,我上面几次回复,都有注意提到一点 “有没有人手把手教”。每种语言都有自己的特点,而写教程的人会被这些特点影响,Go 的教程我看过很多,基本上都是假设读者已经有编程经验,对很多编程入门需要了解的东西都不讲的。而 C、Python, Java 之类的教程则不一样了,大量入门知识,大量优秀入门教程(注意是编程入门,不是语言入门)。

Go 有优秀的语言入门教程,但编程入门资料就非常缺乏了。
myyou
2018-09-11 11:47:57 +08:00
@shm7 Julia 目前也就是科研人员在用
shm7
2018-09-11 11:49:31 +08:00
@myyou ml 了解一下
Aoang
2018-09-11 11:56:31 +08:00
@clino 请问你使用 Golang 吗?对 Golang 的了解程度如何?
如果你深入了解过你就能明白 Golang 为什么不适合零基础的人入门了。

至于会用和理解,这根本就不存在的。

例,切片原理。
Golang 切片的结构是指向数据的指针,长度和容量。复制切片或者在切片上创建新切片,切片中的指针都指向相同数据内存区域。
没学过 C,指针是什么?长度和容量怎么理解和实现?

Golang 的切片,你完全就可以在 C 上实现一个,因为 C 没有,你得自己造轮子。当你理解了切片原理,才能知道该怎么用,这样才能避免在开发的时候出现错误。
kangkang
2018-09-11 12:03:06 +08:00
拿 golang 和 python 类比的明显没有深度用过 golang...起码到目前为止 golang 这门语言还是需要有 hack 精神和能力的,想把它当 python 或者 java 那样的黑盒用是不可能的
myyou
2018-09-11 12:21:16 +08:00
@SuperMild 的确,golang 太新,不像其他语言有那么多的教程,不过也再逐渐改善。
waterlaw
2018-09-11 12:29:03 +08:00
楼上讲的都有点道理。 编程本质上还是逃离不了处理器指令, 内存,io, 异常处理等等, 如果是学习使用的话, 可以先了解一门语言的基本语法和概念, 遇到问题再去补相关知识, 计算机编程从来不是会用一门语言就会的, 要多推敲代码, 减少内存占用加速 io 操作什么的, 才是重点。 楼主计算机基础不是很好的话推荐一本书给你,《 深入理解计算机系统》, 可能还是要学下 c 语言, 毕竟 c 语言是除了汇编外离操作系统最近的语言, 而且语法也简单, 对你学 go 也有帮助。

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

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

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

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

© 2021 V2EX