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

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

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

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

    如果 go 不是不了解底层实现用不好, 那就是太卷了. 反正无所谓了, 现在行业崩了.
    kevinpendragon
        16
    kevinpendragon  
       149 天前   ❤️ 1
    https://draveness.me/
    这个大佬的博客可以看看,从发布时间来看算比较早的,里面有些方法到现在都很有用。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3020 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 13:59 · PVG 21:59 · LAX 05:59 · JFK 08:59
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.