Golang学习-第一篇 Golang的简单介绍及Windows环境下安装、部署
这是本人简书第一篇文章,写的不到位之处,希望各位看客们谅解。
本人一直从事.NET的开发工作,最近在学习Golang,所以想着之前学习的过程中都没怎么好好的将学习过程记录下来。深感惋惜!
现在将Golang的学习点滴记录分享,废话到此,下面进入正文。
注:此文及以后所有内容中的开发平台为:Windows
开发工具为:JetBrains Gogland x64版本
官方下载地址为:www.jetbrains.com/go/download/#section=windows
Golang版本为:Go1.8.3
官方下载地址为:golang.org/dl/ (需要FQ才能访问)
Golang简介
Go语言是谷歌2009年发布的第二款开源编程语言。这是一门全新的编程语言,可以在不损失应用程序性能的情况下降低代码的复杂性。
Go语言具有很强的表达能力,它简洁、清晰而高效。得益于其并发机制, 用它编写的程序能够非常有效地利用多核与联网的计算机,其新颖的类型系统则使程序结构变得灵活而模块化。 Go 代码编译成机器码不仅非常迅速,还具有方便的垃圾收集机制和强大的运行时反射机制。 它是一个快速的、静态类型的编译型语言,感觉却像动态类型的解释型语言。
Golang安装
将Golang安装包下载完成后,点击安装,安装目录更改为:D:Go (默认安装目录为:C:Go),然后直接点击 Next 直到 Finish。这样基本就安装完成了。
安装完成后,需要配置系统环境变量。
右击我的电脑----> 属性 ----> 高级系统设置 ----> 环境变量 如下图:
Golang在安装完成后会在系统变量中自动添加一个GOROOT变量,这个变量就是Golang的安装目录。 还会在 Path变量中自动添加一个 D:Gobin 变量,这是Golang的安装目录下的bin目录。(这两个环境变量不需要人为添加,安装好Golang后会自动添加到系统变量中)
接下来我们要设置Golang的工作目录,这个目录是用来存放我们的项目目录及各种第三方包文件。
首先找到项目盘我们这里就用D盘,在D盘新建文件夹GoWorks,在GoWorks中在新建三个子目录:src(此目录用来存放项目源代码) pkg(此目录用来存放项目编译后的生成文件) bin(此目录用来存放编译后生成的可执行文件)
文件夹都新建完成后,我们在回到系统环境变量中,手动添加 GOPATH 变量,值为:D:GoWorks。在找到Path变量,然后点击编辑按钮,添加D:GoWorksbin
以上就是整个Golang的安装配置流程,全部配置完成后,打开命令行(windows键+R,输入cmd点击确定),输入命令 go version后显示出golang的版本则配置成功,如下图:
IDE配置
将Gogland下载完成后,点击安装,安装地址默认为C盘(根据个人需要可以安装到其它盘符),安装过程中可选32位和64位的桌面快捷方式,和.go的勾选(作者选择的是64位,.go也勾选为选中状态),配置完成后直接Next 直到安装 Finish。
安装完成后打开工具,第一次打开会弹出设置界面,选择不导入设置,点击OK 如下图:
点击OK后,进入Gogland欢迎页 如下图:
首先我们先配置一下工具的项目默认路径,点击Configure ----> Settings ----> Go ----> GOPATH , 点击最右边的+号 , 添加D:GoWorks, 点击OK , 这样我们的项目路径就设置完成了。
Golang第一个项目(万能的Hello Wrold)
点击 New Project 创建项目(Gogland主题变更,Configure ----> Settings ----> Appearance & Behavior ----> Appearance ----> UI Options ----> Theme: Darcula 为黑色主题)
新建文件main 点击File ----> New ----> Go File
编写代码:
package main
import "fmt"
func main() {
fmt.Print("Hello World!")
}
运行代码:
上图显示出 Hello World!
则运行成功!
- WCF技术剖析之十九:深度剖析消息编码(Encoding)实现(上篇)
- 谈谈分布式事务之二:基于DTC的分布式事务管理模型[下篇]
- 孙明俊:人工智能之算力演进
- 探秘Tomcat——一个简易的Servlet容器
- 2017年与机器学习相关的10大Python开源库
- 控制并发访问的三道屏障: WCF限流(Throttling)体系探秘[上篇]
- 探秘Tomcat——从一个简陋的Web服务器开始
- EnterLib PIAB又一个BUG?[续]——这是一个致命的BUG
- Google工程师:谷歌翻译在几个月内效果明显提升的秘诀
- 回调与并发: 通过实例剖析WCF基于ConcurrencyMode.Reentrant模式下的并发控制机制
- EnterLib PIAB又一个BUG?[续]——这是一个致命的BUG
- 年终盘点2017年发生在上海的科技大新闻
- 数字供应链第六章-网络风险、知识产权盗窃、合规和数据挖掘业务合同
- 使命必达: 深入剖析WCF的可靠会话[实例篇](内含美女图片,定力差者慎入)
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- php数组hashtable的巧妙设计
- php运行生命周期--模块初始化php_module_startup
- Visual Studio Code的用户设置相关
- php运行生命周期--请求初始化php_request_startup
- 如何在SAP Spartacus自定义UI里使用标准UI的上下文数据
- php运行生命周期--脚本执行阶段 php_execute
- SAP Spartacus中Angular json pipe的工作原理
- 02.Android崩溃Crash库之App崩溃分析
- mysql事务的实现原理
- 如何通过outlet在SAP Spartacus的产品明细页面插入自定义UI
- 防盗链的原理以及实现
- Python如何根据日期判断周几
- http常见状态码
- golang time相关总结
- [白话解析] 深入浅出熵的概念 & 决策树之ID3算法