V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
zoeyx
V2EX  ›  程序员

前端 Coder 如何学习 Golang?

  •  
  •   zoeyx · 201 天前 · 2763 次点击
    这是一个创建于 201 天前的主题,其中的信息可能已经有所发展或是发生改变。
    在各招聘网站稍微好点的岗位基本都需要熟练使用 golang 语言,前端现在也要兼顾做些后端的事了。

    各位有什么好的学习路线 or 建议?
    31 条回复    2024-05-09 16:49:14 +08:00
    Shijamlin
        1
    Shijamlin  
       201 天前
    其实 Golang 不难上手, 如果你是从零学的话, 建议你直接学 Rust
    rookie2luochao
        2
    rookie2luochao  
       201 天前
    @Shijamlin 一般用 go 还可以写服务端,用 rust 写 web 服务的少,前端更多的是重写基础构建工具,后端主要是重写中间件
    rookie2luochao
        3
    rookie2luochao  
       201 天前
    直接找一个 go 全栈项目,直接变看文档边调试学习
    yekern
        4
    yekern  
       201 天前
    随便找个入门视频看看 大概 3 个小时够了, 剩下就 GTP 呗.随用随问, 写写就会了 感觉还比较简单的
    ixixi
        5
    ixixi  
       201 天前
    go 很简单 我某天接了了外包单子 , 就想尝试点新东西, 然后边学边做慢慢掌握了, 刚开始学会写增删改查基本就入门了百分之八十了
    azhong123
        6
    azhong123  
       201 天前
    @Shijamlin 佬,指点一下,为啥 Rust; 想学,求个动力
    rookie2luochao
        7
    rookie2luochao  
       201 天前
    @azhong123 因为前端基础工具很多占有内存和 cpu 的都在用 rust 重构提升效率,学 rust 有机会在这些地方去实践
    rookie2luochao
        8
    rookie2luochao  
       201 天前
    @azhong123 但是楼主说明了背景:需要兼顾做些后端的事了,说明考虑到后端 curd ,所以问 go 的学习
    Jame00001
        9
    Jame00001  
       201 天前   ❤️ 3
    @yekern 初学才最怕用 gpt ,你根本没听说过的东西他一个字都不会提,除非你证明你会这个东西,那他也不一定会打的就是对的。初学者最忌讳遇到假知识、片面误导的知识,因为没有能力分辨。
    ZnductR0MjHvjRQ3
        10
    ZnductR0MjHvjRQ3  
       201 天前
    @yekern 正解 基础语法学会了后面就是 用到了找 gpu 问 我 python 就是这么学的
    ZnductR0MjHvjRQ3
        11
    ZnductR0MjHvjRQ3  
       201 天前
    @Jame00001 不能一味的听取 gpt 的 他的正确用法是让他给你个大方向 然后你在自己去跟着大方向去寻找 中间卡壳了再去想办法或者问他 一步一步的向下走 但是中间你还是要思考
    azhong123
        12
    azhong123  
       201 天前
    @rookie2luochao 好的,get; 谢谢佬;

    另外再问一下佬,推荐系统工程岗了解吗? 我 java 后端好多年了,想转过去,但是不知道怎么入门
    rookie2luochao
        13
    rookie2luochao  
       201 天前
    @azhong123 我不是大佬,这个岗位好像门槛还有点高?半路转行确实不容易,我没有相关经验,无法帮助你,建议你找点相关框架 TensorFlow 、PyTorch 学习一下,再写点东西去投递一下试试
    kuanat
        14
    kuanat  
       201 天前
    语法层面过一遍官方的 Tour 差不多够了。

    练手的话我比较推荐尝试写个爬虫服务,不是让你真去爬什么,而是这个过程用到的东西学习曲线比较平滑。

    解析页面元素这个过程,大概能熟悉强类型语言处理字符串的模式,了解结构体的应用。后期还会接触到反射等机制的应用。

    之后是一般的网络编程,发送接收请求。这个过程可以熟悉标准库的风格和惯例,网络库算是 Go 比较精髓的部分了。

    再之后是多线程处理,了解 chan/goroutine 的使用,以及常见的并发模型。领会一下用通信的方式来共享内存的核心思维。

    最后把改造成服务,学习一下路由处理、中间件等等服务端常见的应用。之后有可能会慢慢接触到模板、泛型的应用。

    前期不用考虑处理太复杂的情形,用标准库把功能实现出来就行。整个过程里可以慢慢熟悉后端工程化的实践。
    mxT52CRuqR6o5
        15
    mxT52CRuqR6o5  
       201 天前
    @azhong123 #6
    js 是动态类型、有 runtime 、有 gc
    go 是静态类型、有 runtime 、有 gc
    rust 是静态类型、无 runtime 、无 gc
    从类型、runtime 、gc 三个角度来看,rust 是和 js 完全不同的语言,能学到的东西更多
    azhong123
        16
    azhong123  
       201 天前
    azhong123
        17
    azhong123  
       201 天前
    @rookie2luochao 感谢,大佬
    redbule
        18
    redbule  
       201 天前
    如果你没做过后端,那你可以用 nodejs 的技术栈快速上手。熟悉了之后再看 go 的东西,就很简单了。
    you222
        19
    you222  
       201 天前
    可以看下面两个链接入门:
    1. https://go.dev/tour/
    2. https://go.dev/doc/effective_go
    adrianyx
        20
    adrianyx  
       201 天前
    我感觉 go 真的是最好入手的语言,语法层面的东西不多,反正我最喜欢看 go 的代码,理解起来比其他语言的代码要容易一些(代码层面),我甚至觉得要是之前有别的语言的基础就没必要专门学 go 了,go 和并发有关的,例如 goroutine ,chan 什么的需要额外看一看,自己动手写一写,就差不多了。
    Moierby
        21
    Moierby  
       201 天前
    我前端,感觉 golang 很容易上手的,很多写法和 TS 差不多
    suyulingxm
        22
    suyulingxm  
       201 天前
    golang 看文档一个星期就可以上手,搞懂 goroutine 和 select 的使用就算入门了
    meshell
        23
    meshell  
       201 天前
    看到这个问题,就想起 7 天前面试做了 35 道面试题。其中有一个题目问 func, val, struct, class 这几个那 些是 golang 的关键词,我就全选了。。。然后面试官说你应该好好系统的学习下 golang 语言。。。其实我也不知道 class 是不是我猜是保留关键词🤣。。。。
    0Z03ry75kWg9m0XS
        25
    0Z03ry75kWg9m0XS  
       201 天前
    go 语法非常简洁,过完文档挑个 CRUD 的项目看一遍就行
    Amyang
        26
    Amyang  
       201 天前
    Morning009
        27
    Morning009  
       200 天前
    @Shijamlin rust 主要写工具链吧,想入门后端还是 go 比较好
    imianba2zz
        28
    imianba2zz  
       200 天前
    看完这个,我觉得就学会 70%-80%了: https://github.com/Zhouchaowen/golang-tutorial
    xxxccc
        29
    xxxccc  
       200 天前   ❤️ 1
    @Motorola3 可怕的是,gpt 给你的知识是错的,但是你又没有能力辨别真伪。
    ZnductR0MjHvjRQ3
        30
    ZnductR0MjHvjRQ3  
       200 天前
    @d9e7381f 人不啥 gpt 不是百分百可信 当你发现有问题或者走不通 就要怀疑它
    Shijamlin
        31
    Shijamlin  
       199 天前
    @azhong123 Go 上手比较丝滑, Rust 学习曲线比 Go 要陡峭一点, 但是能比 Go 学到更多的东西, 看你的目标是什么, 如果你主业是前端, 后端只是兼顾做些小事情, 那 Go 学习要舒服点, 如果你是想系统性的搞后端, Rust 是个不错的选择, 我了解的几个牛逼项目, 都从 Go 迁移到 Rust 了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3255 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 00:48 · PVG 08:48 · LAX 16:48 · JFK 19:48
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.