go语言学习笔记1 Go开发环境
什么是Go?
Go是一门并发支持、垃圾回收的编译型系统编程语言,旨在创造一门具有在静态编译语言的高性能和动态语言的高效开发之间拥有良好平衡的一门编程语言。
Go的主要特点有哪些?
* 类型安全 和 内存安全
* 以非常直观和极低代价的方案实现高并发
* 高效的垃圾回收机制
* 快速编译(同时解决C语言中头文件太多的问题:去除掉实际上没有用的头文件,如果头文件没有用会跳出编译异常)
* 为多核计算机提供性能提升的方案
* UTF-8编码支持
Go存在的价值是什么?
Go在谷歌:以软件工程为目的的语言设计 http://blog.jobbole.com/36480/
Go是记事本编程吗?
包括VIM、IDEA、Sublime Text、Eclipse等IDE均已支持
Go目前有多少实际应用和资源?
* 全球最大视频网站Youtube(谷歌)
* 七牛云存储以及旗下网盘服务(Q盘)
* 爱好者开发的Go论坛及博客
* 已在服务端使用Go开发的著名企业:谷歌、盛大、七牛、360
* 其他开源项目,可以在这三个网站上找到:go-wiki,GoDoc,Go Language Resources
Go发展成熟了吗?
作为一门2009年才正式发布的编程语言,Go是非常年轻的,因此不能称为一门成熟的编程语言,但开发社区每天都在不断更新其核心代码,给我们这些爱好者很大的学习和开发动力。
Go的爱好者多吗?
以Google Group为主的邮件列表每天都会更新10到20贴,国内的Go爱好者QQ群和论坛每天也在进行大量的讨论,因此可以说目前Go爱好者群体足够壮大。
安装Go语言
* Go源码安装
* Go标准包安装 https://golang.org/doc/install?download=go1.6.3.windows-amd64.msi
* 第三方安装
配置环境变量GOROOT为Go的安装位置,为这里为D:\Program Files\Go
在环境变量Path中添加:%GOROOT%\bin
添加环境变量GOPATH(下面会介绍)
Go环境变量与工作目录(命令行输入go env可以看到Go的环境变量们)
* bin(存放编译后生成的可执行文件)
* pkg(存放编译后生成的包文件)
* src(存放项目源码)
Go命令
在命令行或终端输入go即可查看所有支持的命令
Go常用命令简介
* go get:获取远程包(需提前安装git或hg)
* go run:直接运行程序
* go build:测试编译,检查是否有编译错误
* go fmt:格式化源码(部分IDE在保存时自动调用)
* go install:编译包文件并编译整个程序
* go test:运行测试文件
* go doc:查看文档(CHM文档)(比如我要查看一个fmt包,我就输入:go doc fmt)
输入godoc -http=:8080可以在本地localhost:8080打开参考网页。
Windows搭建Sublime Text 3 + Go开发环境:http://blog.csdn.net/cyxcw1/article/details/10329481
go语言学习笔记1 Go开发环境的更多相关文章
- Hadoop学习笔记(4) ——搭建开发环境及编写Hello World
Hadoop学习笔记(4) ——搭建开发环境及编写Hello World 整个Hadoop是基于Java开发的,所以要开发Hadoop相应的程序就得用JAVA.在linux下开发JAVA还数eclip ...
- C#学习笔记一:C#开发环境的设置
C#是.NET Framework的一部分,用于编写.NET应用程序. C#集成开发环境(IDE) 微软提供了以下C#编程开发工具: Visual Studio 2010 (VS) Visual C# ...
- Vue学习笔记(五)——配置开发环境及初建项目
前言 在上一篇中,我们通过初步的认识,简单了解 Vue 生命周期的八个阶段,以及可以应用在之后的开发中,针对不同的阶段的钩子采取不同的操作,更好的实现我们的业务代码,处理更加复杂的业务逻辑. 而在这一 ...
- NLP自然语言处理学习笔记三(集成开发环境)
前言: 我们在做自然语言学习的过程中使用Python进行编程.是用解析器的方式确实有些麻烦.在这里给大家推荐一款集成开发环境IDE可以很方便的对Python进行项目管理,代码自动提示,运行调试等. 简 ...
- Egret学习笔记.2 (Egret开发环境)
配置Egret的开发环境是很简单的,去https://www.egret.com/products/engine.html下载 然后基本就是下一步下一步,安装好了就好了,装好了选择Wing组件,然后下 ...
- 【EJB学习笔记】——EJB开发环境搭建(Eclipse集成JBoss)
之前一直用的EJB开发环境是他们搭建好的,直接拿来用,不过还是感觉老吃别人嚼好的不太好吃,所以自己动手来玩一玩. EJB开发依赖的最基本的环境:JDK.Eclipse.JBoss,这里简单介绍一下最基 ...
- php 学习笔记之搭建开发环境(mac版)
Mac 系统默认集成了很多开发工具,其中就包括 php 所需要的一些软件工具. 下面我们将搭建最简单的 php 开发环境,每一步都会验证上一步的操作结构,请一步一步跟我一起搭建吧! web 服务器之 ...
- 零基础Android学习笔记-01 安卓开发环境搭建
安卓开发环境搭建. 1.首先准备JDK,从官网找到JDK下载地址,原来做.NET不熟悉JAVA,干脆用最新的,下载了JDK 1.7的版本.原来装过1.5还要配置环境变量什么的.但1.7好像很给力,装好 ...
- Cocos2d-x学习笔记之Cocos2d-x开发环境搭建
作者:刘昊昱 博客:http://blog.csdn.net/liuhaoyutz Cocos2d-x源码包下载地址: http://cocos2d-x.org/projects/cocos2d-x/ ...
随机推荐
- ionic2 隐藏滚动条
方法 在全局样式,即app.scss里添加样式: ::-webkit-scrollbar { display: none !important; }
- es6新增的数组遍历方式
1.some方法 1)some() 方法测试是否至少有一个元素通过由提供的函数实现的测试. 2)参数列表: arr.some(callback(element[, index[, array]])[, ...
- HTML5 学习04—— MathML数学标记
MathML 元素标签: <math>...</math> MathML 是数学标记语言,是一种基于XML(标准通用标记语言的子集)的标准,用来在互联网上书写数学符号和公式的置 ...
- pygame-KidsCanCode系列jumpy-part11-角色动画(下)
接上节继续,上节并没有处理向左走.向右走的动画效果,这节补上,看似很简单,但是有一些细节还是要注意: def jump(self): hits = pg.sprite.spritecollide(se ...
- 关于kafka重新消费数据问题
我们在使用consumer消费数据时,有些情况下我们需要对已经消费过的数据进行重新消费,这里介绍kafka中两种重新消费数据的方法. 1. 修改offset 我们在使用consumer消费的时候,每个 ...
- 自定义UIPickView
效果图 源码 https://github.com/YouXianMing/Animations 说明 1. 数据适配器PickerViewDataAdapter含有PickerViewCompone ...
- MOS管当开关控制时,为什么一般用PMOS做上管NMOS做下管?
了解MOS管的开通/关断原理你就会发现,使用PMOS做上管.NMOS做下管比较方便.使用PMOS做下管.NMOS做上管的电路设计复杂,一般情况下意义不大,所以很少采用. 下面先了解MOS管的开通/关断 ...
- gtest环境安装
gtest全称Google Test,是Google的C++测试框架,有很多优秀的软件都会依赖这个环境编译或者在开发中也会用到,gtest的编译非常简单,下面简单说明一下安装过程. gtest git ...
- 使用多个项目生成Xml文件来显示帮助文档
终于到这了,我们首先将Product单独作为一个项目 WebAPI2PostMan.WebModel 并引用他,查看文档如下. 你会发现,你的注释也就是属性的描述没有了.打开App_Data/XmlD ...
- 链接了dpdk的进程启动core在 Illegal instruction
失败后的core栈像下面这样: Program terminated with signal SIGILL, Illegal instruction. # 0x00000000036a3fdd in ...