V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
The Go Programming Language
http://golang.org/
Go Playground
Go Projects
Revel Web Framework
N1ceHua
V2EX  ›  Go 编程语言

请教如何学好 Go 语言,以及 Go 语言的未来前景如何?

  •  1
     
  •   N1ceHua · 2019-05-28 13:13:27 +08:00 · 6337 次点击
    这是一个创建于 2042 天前的主题,其中的信息可能已经有所发展或是发生改变。

    本人目前是一名 phper,现在正准备学习 Go 语言,昨天看了一天的资料,从 Go 语言环境配置到基本程序结构、基础语法、数据类型、变量、运算符以及语句表达式等等,发现很难在看下去,了解了 Go 好像没有入门的框架去实践学习,所以想在此请教如何实践性的去学习 Go 语言,谢谢。

    29 条回复    2019-05-31 13:13:26 +08:00
    jxf2008
        1
    jxf2008  
       2019-05-28 13:38:31 +08:00   ❤️ 2
    类似 c#,编程语言的成功与否,出了本身的性能外,公司之间的角力也是重要因素

    C#始终没有大红大紫并非自身问题,语言本质是一种标准,显然,其他公司并不愿意看见 C#做大

    go 语言本身性能出众,至少目前如此,但 go 的最大问题是却并不是自身的性能,

    就行我们用 java 开发安卓许多年,kotlin 一出现,谷歌立马将其列为第一推荐的安卓开发语言

    ------转自论坛上的某位水友
    iRiven
        2
    iRiven  
       2019-05-28 13:41:58 +08:00
    自己私底下爽一爽 也就这样一个状态
    jon
        3
    jon  
       2019-05-28 13:49:10 +08:00
    谷歌是美国公司,到时谷歌不让你用怎么办蛤蛤
    lepig
        4
    lepig  
       2019-05-28 13:57:51 +08:00
    自从用了 PHP 看 Golang 真的感觉写起来没 PHP 的随心所欲。
    但是想想 Golang 的优势 还是死啃一下,目前公司没有项目需求就学学。
    fuxiaohei
        5
    fuxiaohei  
       2019-05-28 14:00:43 +08:00
    Go 可以学,但是实践出经验,和项目经历有关系,和 Go 没关系
    jxf2008
        6
    jxf2008  
       2019-05-28 14:02:29 +08:00   ❤️ 4
    @jon
    FBI 警告我,有些电影不能看,我都看了无数了,也没见美帝把我怎么样。。。
    baiyi
        7
    baiyi  
       2019-05-28 14:02:39 +08:00
    推荐 Go 语言圣经《 The Go Programming Language 》 ,每个知识点都有示例,还有练习题
    jswh
        8
    jswh  
       2019-05-28 14:08:07 +08:00   ❤️ 2
    这有什么看不下去的........直接官网上的 Tour 过两遍就能基本能上手了吧,语法就那么点。然后用 go 刷一点 leetcode 巩固一下还能顺便练习算法,有时候忘记了 go by example 是个好帮手。然后实践的话建议用 go 写 tcp/udp 这种长连接服务练手,比如写个聊天室 /IM,这时候你就会忘了 PHP 了。

    “ golang,长链接界的 PHP ”
    —— jswh

    P.S 我也是 PHPer
    P.S 2 rust 才是语法都看不懂,刷 leetcode 明明知道解法,代码就是通不过编译
    myyou
        9
    myyou  
       2019-05-28 14:08:24 +08:00   ❤️ 3
    go 不是有 web 框架 gin,echo,beego,ORM 有 gorm 和 xorm,可以把你之前的项目用 go 重做一遍。
    还有不要听楼上鬼扯,“什么私底下爽一爽的状态”--现在很多公司都在用 go,“ c#没有大红大紫”--c#没有像 java 通吃 web service 和移动端是因为很长一段时间 dotNet 平台都是非开源和跨品台的,“ kotlin 一出现就被选为第一推荐的安卓开发语言”--那是因为 Android 在虚拟机长久优化上,决定 Android 品台不可能随便换与之无关的语言。
    VDimos
        10
    VDimos  
       2019-05-28 14:23:45 +08:00 via Android
    @jswh rust 用来解 leetcode 是很难受的的,rust 所有权系统和数据结构冲突了,我写的时候用了很多的 unsafe 来解决问题
    jswh
        11
    jswh  
       2019-05-28 14:41:35 +08:00
    @VDimos 是的
    petelin
        12
    petelin  
       2019-05-28 15:37:53 +08:00 via iPhone
    现在用 go 的很多 多用工程化思想去写代码
    比如有 err 就要想一下怎么处理
    chaplinj
        13
    chaplinj  
       2019-05-28 15:55:21 +08:00
    go 现在很火好吧,,这里不说 java 了,我也是个现在写 java 的,,,不过 GO 是很火的!这点儿我百分百确定
    zhixuanziben
        14
    zhixuanziben  
       2019-05-28 19:53:31 +08:00
    比较看好,兼顾性能和开发效率,正在学习中。
    12101111
        15
    12101111  
       2019-05-28 21:24:01 +08:00
    抱着写框架的心态去写是学不进去的.要真心的觉得学的东西有用,而不是应付差事的机械的看书 /文章,尤其是看那些宣传气息很重的网文,没用的.
    最好的学习语言的方法还是造轮子,一定要上手写代码,写上一万行一般就熟练了.
    至于什么轮子呢,我觉得造一个梯子服务器不错
    --------------------
    以目前的前景看,GO>Java>PHP . Golang 是 Java 和 PHP 的优秀替代品(仅在互联网业务上)
    Google 的背景让 Go 更火,不会让 Go 衰败(至少不会像微软之于.net 那样的影响).唯一影响 Go 前景的是 Go2.0 的改动.
    至于.net 的命运,短期内很难预计.
    ______________

    不过我觉得 Golang 的 if err!=nil 过于恶心.
    我主要写 Rust,拿 monad 处理错误简直完美.
    不过 Rust 很难达到上面这些语言的流行度,学习难度大,编译速度慢.
    @VDimos unsafe 没有问题啊,拿 C 语言指针那一套搞就行了
    VDimos
        16
    VDimos  
       2019-05-28 21:53:39 +08:00 via Android
    @12101111 用 Rust 的 unsafe,心里总觉得别扭
    trait
        17
    trait  
       2019-05-28 22:56:14 +08:00 via iPhone
    @VDimos 还是要再熟悉一下标准库,刷了不少 lc 了,还没遇到 unsafe
    beidounanxizi
        18
    beidounanxizi  
       2019-05-28 23:39:26 +08:00
    只要大厂还用 JAVA,Go 还只是个小三
    但不妨碍小三 以后会变正房 毕竟我觉得 go 的好处还是比 python php 好用的多
    这是我对 Go 和 JAVA 的看法 233
    nonfu
        19
    nonfu  
       2019-05-28 23:54:26 +08:00   ❤️ 1
    正好最近在更新 Go 入门教程,不妨一看: https://laravelacademy.org/golang/go-basic
    wee911
        20
    wee911  
       2019-05-29 04:50:59 +08:00
    @jswh rusy 体验太差了,没有一款好用的编辑器,写了几句就编译不通关,go 是最简单的语言之一,上手难度非常低
    tairan2006
        21
    tairan2006  
       2019-05-29 09:11:13 +08:00 via Android
    Go 应该是入门最简单的语言之一了…
    SouthCityCowBoy
        22
    SouthCityCowBoy  
       2019-05-29 09:53:10 +08:00
    @jxf2008 FBI 片头是最骚的
    darknoll
        23
    darknoll  
       2019-05-29 11:26:54 +08:00
    怎么都是拍黄片的转 Go ?
    qloog
        24
    qloog  
       2019-05-29 13:46:40 +08:00
    可以通过观看视频学习,可能更加直观,推荐:
    Go 语言入门视频教程: https://1024casts.com/courses/go-basic-tutorials
    locoz
        25
    locoz  
       2019-05-29 16:34:56 +08:00
    直接看项目啊,go-common 从入门到入职
    N1ceHua
        26
    N1ceHua  
    OP
       2019-05-29 18:24:12 +08:00
    @lepig 是的,声明的局部变量不使用都报错,PHP 就随心所欲多了
    N1ceHua
        27
    N1ceHua  
    OP
       2019-05-29 18:25:10 +08:00
    @baiyi 谢谢,记住了会去看的。
    N1ceHua
        28
    N1ceHua  
    OP
       2019-05-29 18:26:12 +08:00
    @darknoll 黄片拍不下去了,哈哈
    wikinee
        29
    wikinee  
       2019-05-31 13:13:26 +08:00
    @darknoll 前两天看到个烧烤摊( SKT ),现在就拍黄片,哈哈
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2634 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 06:35 · PVG 14:35 · LAX 22:35 · JFK 01:35
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.