在正儿八经准备系统学习 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 ![]() 这个建议你有一定的目标,完成个小的 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 ![]() 建议先去学别的语言,例如 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 ![]() 在看 go 语言学习笔记,不懂的地方照着书上的例子边敲边理解,目前感觉良好 |
![]() | 18 88250 2018-11-30 14:41:54 +08:00 ![]() 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 y835L9DyC5XD09kq 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 写呀,先别让程序奔溃慢慢改逻辑~~ |
![]() | 34 y835L9DyC5XD09kq 2018-11-30 17:50:38 +08:00 @Co1a 要是真的理解了 C,学 Go 根本不用一天。这两个语言的关系非常暧昧 |
![]() | 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 看一下基础,然后选一个框架,开发一个小网站,学的最快,不要一直看视频和书,一直看不动手,大都是前学后忘 |
![]() | 39 y835L9DyC5XD09kq 2018-11-30 18:49:39 +08:00 @Co1a 你可能没懂我在说什么... |
![]() | 40 akagishigeru 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 GG668v26Fd55CP5W 2018-11-30 22:25:06 +08:00 via iPhone ![]() 我是看 go 语言实战 入门的,圣经节奏太慢了,这本快一些。 |
46 mangoDB 2018-11-30 23:35:40 +08:00 via Android 之前有其他语言学习经验吗?如果有的话,学起来不难。如果完全没有经验,估计会有点坎坷。 |
![]() | 47 SorcererXW 2018-11-30 23:41:21 +08:00 ![]() 瞄几眼基本语法, 就直接上 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 |