Go语言学习环境搭建

jinglijun · · 4238 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

pic1

简介

Go编程语言是一个使得程序员更加有效率的开源项目。Go是有表达力、简洁、清晰和有效率的。它的并行机制使其很容易编写多核和网络应用,而新奇的类型系统允许构建有弹性的模块化程序。Go编译到机器码非常快速,同时具有便利的垃圾回收和强大的运行时反射。它是快速的、静态类型编译语言,但是感觉上是动态类型的,解释型语言。

优势

  • 良好的性能

  • 并发支持良好,并且可以很好的利用多核心

  • 简单,容易上手使用,只要是会一点C语言的, 都可以现学, 2~3天可以贡献代码

  • 开发效率和运行效率有目共睹。 接近C的运行效率 、接近Python的开发效率

  • 尤其是跨平台编译本地代码,之前为了跨平台运行学的node.但是node需要装运行环境, go不用,编译完直接运行,而且体积也不太大

缺点

  • 官方相关的文档不够全面

  • 第三方包和相关的解决方案太少,离java还太远.

  • 不能忍的缺点是没有泛型,身为一个静态语言,没有泛型,只能用interface,好伤

项目案例

七牛云存储

产品网址:云存储首页

七牛云存储应用范围:整个产品(包括基础服务、Web端、统计平台、各类小工具等等)

QOR - 模块化的电商系统 (开源项目)

QOR官网: QOR: E-commerce & CMS SDK written in Go

github地址: qor/qor

应用范围: 整个产品

美团后台流量支撑程序

产品网址:【美团网团购】吃喝玩乐好帮手,专业品质团购

应用范围:支撑主站后台流量(排序,推荐,搜索等),提供负载均衡,cache,容错,按条件分流,统计运行指标(qps,latency)等功能。

仙侠道

产品网址:仙侠道官网 - 心动游戏

应用范围: 游戏服务端(通讯、逻辑、数据存储)

京东消息推送云服务/京东分布式文件系统

网址: 京东云

应用范围:后台所有服务全部用go实现

说了这么多是不是很想入手啊?下面就先从HelloWorld开始学起。

学习资料

环境的安装

  1. 进入官网选择安装的平台。有Mac OSXWindows等不同平台的安装包,本文以Mac OSX为例.

  2. 下载Go package 并安装

  3. 完成后检查下verison

justinjingdeMacBook-Pro-2:Desktop justinjing$ go version
go version go1.6 darwin/amd64
justinjingdeMacBook-Pro-2:Desktop justinjing$ 

如果能看到version 说明Go Package 已经安装成功了,下面再看看GoIDE选择。

Go语言IDE/编辑器选择

这篇文章介绍了市面上支持Go语言的IDE,可以作为参考。

  • LiteIDE功能比较完整,从工程管理、代码提示、跳转、帮助到调试,甚至跨平台,一应俱全,没有什么特殊需求的话,这是最合适的IDE。缺点是代码提示有点慢。下载地址

  • 如果对SublimeText情有独钟,GoSublime也是不错的选择。除了没有调试功能,其他编辑功能都很好用,SublimeText提供了流畅的写代码体验。

  • 至于Goclipse,配置比较麻烦,功能也没有突出的地方,加上eclipse的臃肿,整体体验并不够好。

下载解压完成后,界面如下:

pic4

下面我们就可以开始HelloWorld了。

// helloword
package main

import (
    "fmt"
)

func main() {
    fmt.Println("hello world")
}

写完保存,编译运行:

go run helloword.go

结果:
pic2

更多语法学习:


参考文档


有疑问加站长微信联系(非本文作者)

本文来自:CSDN博客

感谢作者:jinglijun

查看原文:Go语言学习环境搭建

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

4238 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传