V 友们,系统的深入学习 golang 有没有好点儿的资料 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
The Go Programming Language
http://golang.org/
Go Playground
Go Projects
Revel Web Framework
Grocker
V2EX    Go 编程语言

V 友们,系统的深入学习 golang 有没有好点儿的资料

  •  
  •   Grocker 2024-06-04 11:32:26 +08:00 3712 次点击
    这是一个创建于 492 天前的主题,其中的信息可能已经有所发展或是发生改变。
    背景:以前是做 php 的,陆陆续续用 go 也做过好几个项目了,主要是 gin + gorm, 但感觉写出来的代码总是不那么的 "go", 看过 Go 语言圣经(看着后半部分太吃力了,看不下去),和极客时间的 go 语言核心 36 讲
    16 条回复    2024-06-25 10:14:33 +08:00
    PTLin
        1
    PTLin  
       2024-06-04 11:56:17 +08:00
    https://book.douban.com/subject/35720728/ 这个上下两本推荐看看,个人感觉还不错。
    smallboy19991231
        2
    smallboy19991231  
       2024-06-04 12:58:11 +08:00 via iPhone
    看黑书已经足够了。https://book.douban.com/subject/27044219/?dt_dapp=1 Go 程序设计语言
    lasuar
        3
    lasuar  
       2024-06-04 13:26:58 +08:00   1
    现在 go 的资料已经好多了,要有 go 的味道就要少看 java 作者写的框架。
    另外,可以多了解 go 里面的特有设计模式,比如 option 模式、New 函数模式、Builder 模式、池化模式。
    Grocker
        4
    Grocker  
    OP
       2024-06-04 13:53:15 +08:00
    @PTLin 这本书作者和极客时间 《 go 语言核心 36 讲》 是一样的
    wwhontheway
        5
    wwhontheway  
       2024-06-04 13:59:51 +08:00   1
    cheny233
        6
    cheny233  
       2024-06-04 14:07:40 +08:00
    @lasuar 提到的这些特有的设计模式 有什么学习内容推荐吗
    lasuar
        7
    lasuar  
       2024-06-04 14:13:08 +08:00
    @cheny233 #6 直接关键字搜索,不用喂到嘴里吧。
    lianxiben
        8
    lianxiben  
       2024-06-04 14:25:08 +08:00
    ciaoSora
        9
    ciaoSora  
       2024-06-04 14:25:36 +08:00
    (纯好奇,非引战)深入学习 go 是指什么?因为 go 的官方手册都不是很长来着,感觉 go 是一门设计相对简单的语言?
    PTLin
        10
    PTLin  
       2024-06-04 15:23:06 +08:00
    @ciaoSora 应该是指的 go GMP 调度细节,runtime 高级用法,mutex chan 具体实现,goroutine 实现,runtime 内存分配策略这方面的东西。
    echoless
        11
    echoless  
       2024-06-04 15:28:56 +08:00   2
    @ciaoSora #9 go 用起来简单, 但是你不了解底层就很难过面试了.

    我不知道是 golang 的失败还是面试有问题.

    一般来讲, 如果我用一个工具, 了解底层实现才能用好, 说明这个东西设计有问题了. (文档解决不了)

    我在面试的时候仅仅提我也能写 golang, 面试官就问问 go routine 实现...
    cin
        12
    cin  
       2024-06-04 15:33:32 +08:00
    读标准库的代码
    另外 https://book.douban.com/subject/35720728/ 的作者和 go 语言核心 36 讲的作者不是同一个, 不过作者在极客时间上也有个课程 Go 语言第一课
    推荐作者的一篇文章: https://tonybai.com/2017/04/20/go-coding-in-go-way/
    ETCartman
        13
    ETCartman  
       2024-06-04 17:21:19 +08:00
    我是看的“深入 Go 底层原理,重写 Redis 中间件实战”https://coding.imooc.com/class/576.html ,然后结合着看《 Go 专家编程》,https://space.bilibili.com/317473362https://space.bilibili.com/373073810
    ciaoSora
        14
    ciaoSora  
       2024-06-05 14:33:54 +08:00   1
    @echoless 不了解底层确实很难过面试,去年面过一家小私募量化,被问了什么 go 的什么染色。当时我还信心满满地去面的因为我 go 用得挺熟的,结果反手就被问的哑口无言然后被挂。感觉 go 应该是没什么问题的(虽然我本人很不喜欢),就是面试太爱问实际开发用不到、且不懂也无所谓的东西了。我不理解既然 go 都已经带一个 runtime 了,我为什么还要了解 runtime 的底层机制,总不能反过来预判 runtime 的行为来做些什么所谓优化吧……
    echoless
        15
    echoless  
       2024-06-05 14:52:39 +08:00
    @ciaoSora #14 哈哈, 不知道面 CPP 会不会考汇编. 面 python 最多让大致讲一下 GC 原理(其实就是背一下八股文), 除此之外, 不会问太多 python 的实现, golang 的面试夸张的居多, 不知道是不是因为 golang 太简单了, 还是 golang 语言最早成长起来的时候都是看所谓源码,深度解析.

    如果 go 不是不了解底层实现用不好, 那就是太卷了. 反正无所谓了, 现在行业崩了.
    kevinpendragon
        16
    kevinpendragon  
       2024-06-25 10:14:33 +08:00   1
    https://draveness.me/
    这个大佬的博客可以看看,从发布时间来看算比较早的,里面有些方法到现在都很有用。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5664 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 28ms UTC 03:18 PVG 11:18 LAX 20:18 JFK 23:18
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86