美文网首页
Hello Golang

Hello Golang

作者: houz | 来源:发表于2017-01-01 21:54 被阅读0次

    亲(si)爱(ji)的(lao) 宝二爷:

    上次你听说我在用 Go,表示也想学,我也答应给你安利一下我上手以来的一点想法。奈何我们都是身不由己的加班狗,一直没有机会细聊这件事。

    不过就在今天,听说你给自己定下了 2017 年的一个小目标:开始写简书,分享技术,还建议我也来写,记录学习 GO 的过程。这想法与我不谋而合,我决定吃你一记安利,也记录下自己在技术学习中的思考,分享一点人生的经验。

    行动力是最重要的,不如就从今天开始,从带你入门 Golang 开始。

    Golang 好处都有啥

    Go 这门年轻的语言,设计时主要参考了 C++,吸收其它现代语言的优势,同时又尽量避免了 C++ 的复杂性,因此具有了编译型,静态类型,自带垃圾回收,天生多线程,有限的指针,没有继承等等特点。

    在我有限的经验中,能感受到一些比较突出的优势:

    • 学习成本低,上手快

      我在入职之前只看了 官网 的入门教程,大概了解了 Goroutine,就来到现在的公司开始写 Go。

    • 语法简洁,开发快

      Go 的语法设计简洁高效,尽可能避免了大括号,语言中只有25个关键字,意义明确。

    • 部署简便,迭代快

      Go 编译出的二进制包,直接扔服务器就能跑,环境依赖是什么,能吃吗?

    • 社区活跃,发展快

      无论是技术分享,还是第三方库的开发都很活跃,虽然总量不能跟其它历史更长的语言相比,但基础设施已经比较完备,同时也有更多机会贡献自己的力量。

    Go 的这些特点决定了,它很适合现在的 web 应用开发,不过如果要做其它事情,有些时候还是有点捉急的,这个以后再讨论。

    Let's GO~

    先来配置开发环境

    其实扔一个 官网链接 就好了,只要三步:

    1. 把冰箱门打开,下载安装语言二进制包,包括编译器等核心内容
    2. 下载安装 Go Tools,主要是标准库和官方工具
    3. 配置环境变量

    配置 GOPATH 这里需要注意一下,Go 要求所有的代码都放在 $GOPATH/src 目录下,即所有的项目代码都在这一个工作空间下的不同子目录,这是为了配合 Go 的引用机制。比如 git clone 的项目代码都在 $GOPATH/src/github.com/user/project,一般这个变量都设置为 ~/go~/work/go

    再来个趁手的编辑器

    不过,想要用得爽,还是要有一些趁手的工具。既然不像你一样,有了最能提升编程幸福感的外设--女朋友,更要对自己好一点。

    写 Go 不需要 IDE,编辑器我用 VS code,搭配准官方插件 Go for Visual Studio Code。听说,写 Go 时,微软的 code 和 Mac 更配哦~

    这插件是个合集,语法高亮,自动补全都是基本要求,代码格式化,符号搜索跳转重命名,自动生成单元测试代码框架,还有个不太完善的debugger。不过由于墙,安装过程往往有些曲折,遇到了再讨论具体解决方法。

    终于 Hello Golang

    工作目录就用 $GOPATH/src/github.com/你的ID/hello 吧,代码文件就叫 hello.go 吧,以下就是一个 Go 的 Hello World 代码,顺便看看 go 文件的几个基本要素.

    package main
    
    import "fmt"
    
    func main() {
        fmt.Printf("hello, golang\n")
    }
    

    然后,编译

    $ go install github.com/user/hello
    

    运行

    $ $GOPATH/bin/hello
    hello, golang
    

    好了,就是这样。

    这第一篇到这基本就结束了,接下来可以看看 How to write go codego 语言入门教程。需要更深入了解的话还有 官方文档Effective Go

    请慢用,一点微小的贡献,但愿对你有所帮助。

    from houz with love~~~

    相关文章

      网友评论

          本文标题:Hello Golang

          本文链接:https://www.haomeiwen.com/subject/ieiivttx.html