在正儿八经准备系统学习 GO 之前在 youtube 上观看了大致一周的学习视频,趁着最近 X 东购书满减,买了一本 Go 语言圣经,这下好了,完全一头雾水,之前自认为还能了解个大概,现在完全一脸懵逼,是因为非科班的原因?!?顺便求一下 Go 语言相关练习题
1
loading 2018-11-30 13:47:12 +08:00 via Android
码起来再说
|
2
mason961125 2018-11-30 13:47:37 +08:00
科班?你问问这里野路子有多少...
|
3
Yoock 2018-11-30 13:48:34 +08:00 via iPhone
所以说,你哪里不懂呢?
|
5
bonfy 2018-11-30 13:50:21 +08:00 2
这个建议你有一定的目标,完成个小的 project, 然后再审视一下之前学的东西,哪些不稳固的 重点加强下
学以致用,不要为了学而学,个人看法 顺便有兴趣的话 看看这个: https://github.com/bonfy/go-mega 照着完成一个网站啥的,可能对 Go 的认识更直观 |
7
cp333 2018-11-30 13:51:37 +08:00 via iPhone
快速上手看完 go by example 就行了
|
8
loading 2018-11-30 13:55:25 +08:00 via Android
没有任何编程经验?
|
9
chucongqing 2018-11-30 13:56:24 +08:00
一个周还没写代码?先随便找几个需求码起来啊!
|
11
loading 2018-11-30 13:58:57 +08:00 via Android 1
建议先去学别的语言,例如 python。
go 确实很难的。 |
12
AzadCypress 2018-11-30 14:21:31 +08:00 via Android
我感觉完全没有编程经验的话直接学 Go 不是很好入门,尤其是从 GoPL 这本书入门
|
13
ClutchBear 2018-11-30 14:33:59 +08:00
golang 不适合没有其他语言基础的人直接学习,
现在没有大神或者培训班总结出一套良好的适用多数人的学习路线. java 和 python 有. |
14
chenset 2018-11-30 14:34:13 +08:00
写网络工具, 自从用了 GO 以后就没再看过 Python 一眼...
|
15
lucifer9 2018-11-30 14:34:15 +08:00
别看翻译的书
|
16
zhaishunqi 2018-11-30 14:39:44 +08:00
你不会当看小说一样的全看了一遍吧...
|
17
fy1993 2018-11-30 14:40:53 +08:00 1
在看 go 语言学习笔记,不懂的地方照着书上的例子边敲边理解,目前感觉良好
|
18
88250 2018-11-30 14:41:54 +08:00 1
Go 边看边练 -《 Go 学习笔记》系列 https://hacpai.com/article/1437497122181
|
19
Co1a OP 可能我说的不太确切。。。之前 12 年学过 Python,高中三年过去语法糖忘得差不多了,现在大一老师带我们入门 C
所以想学习一些别的语言 |
20
Co1a OP 12>>初二
|
21
loading 2018-11-30 14:51:16 +08:00 via Android
建议先把 c 学扎实。快考试了吧。
|
22
Co1a OP @loading 考试还行吧。。。书上例题也不怎么难,我们现在才学到指针,太慢了,我直接自学刷 runoob 的 C 语言 100 例,专科还是得靠自学
|
23
d5 2018-11-30 14:58:00 +08:00 via iPhone
建议看陈佳烨(无闻)大神的 Go 基础视频教程
|
24
cin 2018-11-30 14:58:15 +08:00
https://tour.golang.org/ 跟着官方的 tour 把代码敲出来.
|
25
samt42 2018-11-30 15:05:49 +08:00
如果你会 C 语言或者学过 APUE,应该会很简单,基本不用看书了
|
26
tt67wq 2018-11-30 15:06:46 +08:00
直接去找个 go 的工作就行了
|
27
Rehtt 2018-11-30 15:27:09 +08:00 via Android
做一个小项目边做边学,我当初用 go 写的爬虫就是边做边学的
|
28
kangkang 2018-11-30 16:08:11 +08:00
专科通病:觉得老师教的太慢
|
29
boris1993 2018-11-30 16:25:10 +08:00 via Android
书?
脑子里有了需求 网上跟着教程学了语法,数据结构等必备基础 开始写,一边写一边纠正知识上的误区 完成,运行,结束 书?好像没书啥事。 |
30
hehe12dyo 2018-11-30 17:11:56 +08:00
go 不适合没有基础的人。
|
31
tcpdump 2018-11-30 17:34:19 +08:00 via Android
标记一下
|
32
tingyunsay 2018-11-30 17:40:38 +08:00
写呀,先别让程序奔溃慢慢改逻辑~~
|
35
whoami9894 2018-11-30 18:03:02 +08:00 via Android
|
36
Co1a OP @kangkang 道理我都懂,这不就和念书一个道理吗。。。你懂了和掌握了并不是一个东西,圣经这本书只能说她讲的太透彻,一个基本数据章节的浮点数(详见 P42)他能给你画个函数图形输出样例.一个复数小结(详见 P46)能够提及用 image 函数和 color 函数制出 mandelbrot 集的黑白图。。。,这才仅仅是第三章基本数据就有了这么些个函数,这本书得入门之后深度研读,总而言之,这本书目前不适合我
|
37
kingcos 2018-11-30 18:29:17 +08:00 via iPhone
看了一个库,就开始上手撸……其实也没多难,goroutine 没深入😂
|
38
tomoya92 2018-11-30 18:33:33 +08:00 via iPhone
看一下基础,然后选一个框架,开发一个小网站,学的最快,不要一直看视频和书,一直看不动手,大都是前学后忘
|
40
JaguarJack 2018-11-30 19:10:26 +08:00 via iPhone
看书,第一遍你绝对懵懵懂懂,记住一定要看第二遍
|
41
anonymous256 2018-11-30 19:35:32 +08:00 via Android
没有其它语言基础,最好不要碰 golang。
golang 中面向对象的设计和其它语言截然不同。golang 中的 struct 和 interface 实现了其它语言中[类,继承,多态]。 新人必然很难理解这种设计~建议从 python 入手,再试试 golang |
42
mritd 2018-11-30 19:55:59 +08:00 via iPhone
相信我,基础语法搞完就开始造轮子就行了
|
43
SuperMild 2018-11-30 21:53:51 +08:00
你这种情况,不建议学 Go,建议先用 Python 或 C 写些东西,培养一下编程的感觉。
|
44
cgpiao 2018-11-30 22:21:09 +08:00
php 欢迎你
|
45
falcon05 2018-11-30 22:25:06 +08:00 via iPhone 1
我是看 go 语言实战 入门的,圣经节奏太慢了,这本快一些。
|
46
mangoDB 2018-11-30 23:35:40 +08:00 via Android
之前有其他语言学习经验吗?如果有的话,学起来不难。如果完全没有经验,估计会有点坎坷。
|
47
SorcererXW 2018-11-30 23:41:21 +08:00 1
瞄几眼基本语法, 就直接上 Leetcode 用刷题, 刷个几道题目就熟悉了, 就我而言, 这是熟悉新语言最快的方式
接下去就可以上手做项目了, 一些高级的特性跟着项目边做边学 |
48
Co1a OP @falcon05 就是这个意思……慢但是详细,准备再买一本,go tour 其实就是基本语法,开始造轮子了
|
49
vsomeone 2018-12-01 12:25:57 +08:00
Go 其实和 C 很像。我猜可能设计者一开始有抱着开发一个更好用的 C 的目标
所以不如先把 C 用熟练吧 |
50
abcbuzhiming 2018-12-01 12:41:52 +08:00
@anonymous256 我这么说吧,Go 根本就不想实现什么“继承”,“多态”。Go 的核心思想是组合,所以才会有那么特别的接口实现。继承封装多态是过去传统的面向对象理论界喜欢的东西,工程界更关注的是组合,因为组合的耦合度是最低的。我建议如果要学 go,最好把继承封装多态这套东西全抛开
|
51
aa514758835 2018-12-01 14:21:24 +08:00
看视频+多敲敲,
|
52
anonymous256 2018-12-02 00:38:35 +08:00 via Android
@abcbuzhiming 不太同意你的看法。因为“封装” “多态”“继承”不是实现的目的,而是实现的结果。go 是一门面向对象的语言,体现了这些思想毫不奇怪,只是它看起来“不寻常”一些。
1. 封装是 go 自身的特性之一,比如函数名首字母大写才能在 package 外使用。通常而言,我只会把封装好的函数使用首字母大写,供其它的 package 调用。而其它我不希望别人调用的方法和结构体,首字母小写。go 为什么要搞大小写,说到底还是为更好的封装一个包。 2. go 的确没有继承的概念,"Composition over inheritance",它通过对象组合实现了多态行为和代码复用。多态行为也是它的典型特征,接口最容易体现多态。 https://spf13.com/post/is-go-object-oriented/ https://golangbot.com/polymorphism |