golang编程语言,是google推出的一门语言。

主要应用在系统编程和高性能服务器编程,有广大的市场前景,目前整个生态也越来越强大,未来可能在企业应用和人工智能等领域占有越来越重要的地位。

本文章是【易学易懂系列|编程语言入门】第一篇幅,希望可以帮助对编程感兴趣的同学更好地入门。

本系列主要的核心思想是:实践实践再实践!每天编程至少一小时!

好吧,我们开始吧!let's Go!

安装

Golang 支持三个平台:Mac,Windows 和 Linux(译注:不只是这三个,也支持其他主流平台)。你可以在 https://golang.org/dl/ 中下载相应平台的二进制文件。(译注:因为众所周知的原因,如果下载不了,请到 https://studygolang.com/dl 下载)

Mac OS

https://golang.org/dl/ 下载安装程序。双击开始安装并且遵循安装提示,会将 Golang 安装到 /usr/local/go 目录下,同时 /usr/local/go/bin 文件夹也会被添加到 PATH 环境变量中。

Windows

https://golang.org/dl/ 下载 MSI 安装程序。双击开始安装并且遵循安装提示,会将 Golang 安装到 C:\Go 目录下,同时 c:\Go\bin 目录也会被添加到你的 PATH 环境变量中。

Linux

https://golang.org/dl/ 下载 tar 文件,并解压到 /usr/local

请添加 /usr/local/go/binPATH 环境变量中。Go 就已经成功安装在 Linux 上了。

配置GOROOT和GOPATH:

GOROOT 指向系统安装路径,GOPATH是作为编译后二进制的存放目的地和import包时的搜索路径 (其实也是你的工作目录, 你可以在src下创建你自己的go源文件, 然后开始工作)。

GOPATH允许多个目录,当有多个目录时,请注意分隔符,多个目录的时候Windows是分号; 当有多个GOPATH时默认将go get获取的包存放在第一个目录下。

详细配置步骤:

右键桌面“计算机”-> 选择“属性”-> 高级系统设置 -> 环境变量 -> 系统变量

GOROOT D:\Go\Go
GOPATH D:\Go\GoProjects
Path D:\Program Files\Git\cmd;D:\Program Files\Git\bin;%GOROOT%\bin;%GOPATH%\bin;

在cmd命令行中,输入 go version 测试一下。

如果配置成功,则显示go 的版本好。

如下图:

Liunx/Mac 安装

默认安装到 /usr/local/go (Windows系统:C:\Go)

配置下环境变量:

1
2
3
export GOROOT=$HOME/go 
export GOPATH=$HOME/gopath
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin

同样,在控制台中输入 go version 测试一下。

如果显示版本号,则代表安装成功!

安装参考资料:https://studygolang.com/articles/17?fr=sidebar

https://studygolang.com/articles/7202

https://blog.csdn.net/zhangliangzi/article/details/77914943

Go语言之讲解GOROOT、GOPATH、GOBIN:

https://www.cnblogs.com/pyyu/p/8032257.html

安装开发工具:

这里推荐:Goland,这是著名的jetbrains公司推出了智能化IDE(集成开发工具),是我们开发工程师的瑞士军刀!!也是快乐的源泉!!

下载地址:https://www.jetbrains.com/go/

如下图:

下载完成后,按照默认安装就行。安装教程可以参考:

https://blog.csdn.net/qq_23599965/article/details/81947938

https://www.jianshu.com/p/d9cb6b3aacc6

--------------------------以下是穷学生福利----------------------------------------

Goland是jetbrains公司的好产品,好产品必然要成本!

首先声明:有钱的同学要大力支持正版软件,能买就买。

如果没有钱,又要想用这好产品,那怎么办?这时候,就体现知识就是力量,知识就是财富的大道理了!!你要是懂以下的英文,也是可以愉快地享用这个美好的Goland!!

 
Step 1: IMPORTANT:

add 0.0.0.0 account.jetbrains.com to your host file ( google if you don't know where it is )

Step 2:
then get the key from http://idea.lanyus.com/getkey

====

enjoy!!

----------------------------------------另外一个IDE开发工具------------------------------

最近听了在荔枝FM“代码时间”听了关于VC Code的故事,研究了一下VS Code,觉得它也是个神器,安装教程:

https://blog.csdn.net/chszs/article/details/50076641

[易学易懂系列|golang语言|零基础|快速入门|(一)]的更多相关文章

  1. [易学易懂系列|golang语言|零基础|快速入门|(四)]

    今天开始,我们来写代码. 学习一门语言,最快的方式就是写代码,做项目. 别的学习教程,都是hello world. 我们就来点不一样的吧.我们不一样!不一样!不一样! 首先,打开VSCODE.( 关于 ...

  2. [易学易懂系列|golang语言|零基础|快速入门|(三)]

    接下来,我们主要讲讲package. 先列举下go的package的一些核心特性: 1.go的package不局限于一个文件,组成一个package的多个文件,编译后实际上和一个文件类似,组成包的不同 ...

  3. [易学易懂系列|golang语言|零基础|快速入门|(二)]

    现在我们来写代码,首先我们要新建一个项目. 新建项目: 点击:File>>New>>Project...如下图: 在New Project窗口,Location:输入:“goP ...

  4. [易学易懂系列|rustlang语言|零基础|快速入门|(19)|多线程]

    [易学易懂系列|rustlang语言|零基础|快速入门|(19)|多线程] 实用知识 多线程 我们今天来讲讲Rust中的多线程. 我直接来看看代码: use std::thread; use std: ...

  5. [易学易懂系列|rustlang语言|零基础|快速入门|(4)|借用Borrowing]

    [易学易懂系列|rustlang语言|零基础|快速入门|(4)] Borrowing 继续讲讲另一个重要的概念:借用(borrowing), 什么是借用? 我们先来看前一文章([易学易懂系列|rust ...

  6. [易学易懂系列|rustlang语言|零基础|快速入门|(28)|实战5:实现BTC价格转换工具]

    [易学易懂系列|rustlang语言|零基础|快速入门|(28)|实战5:实现BTC价格转换工具] 项目实战 实战5:实现BTC价格转换工具 今天我们来开发一个简单的BTC实时价格转换工具. 我们首先 ...

  7. [易学易懂系列|rustlang语言|零基础|快速入门|(27)|实战4:从零实现BTC区块链]

    [易学易懂系列|rustlang语言|零基础|快速入门|(27)|实战4:从零实现BTC区块链] 项目实战 实战4:从零实现BTC区块链 我们今天来开发我们的BTC区块链系统. 简单来说,从数据结构的 ...

  8. [易学易懂系列|rustlang语言|零基础|快速入门|(26)|实战3:Http服务器(多线程版本)]

    [易学易懂系列|rustlang语言|零基础|快速入门|(26)|实战3:Http服务器(多线程版本)] 项目实战 实战3:Http服务器 我们今天来进一步开发我们的Http服务器,用多线程实现. 我 ...

  9. [易学易懂系列|rustlang语言|零基础|快速入门|(25)|实战2:命令行工具minigrep(2)]

    [易学易懂系列|rustlang语言|零基础|快速入门|(25)|实战2:命令行工具minigrep(2)] 项目实战 实战2:命令行工具minigrep 我们继续开发我们的minigrep. 我们现 ...

随机推荐

  1. php数组合并用加号(+)和用array_merge()的区别

    结论:用加号合并数组:既考虑数字索引的键值对,也考虑字符串索引的键值对,用前边数组的值覆盖后边的键名相同的值; 用array_merge()合并数组:只考虑字符串索引的键值对,用后边数组的值覆盖掉前面 ...

  2. ASP.NET中调用百度地图API

    1.打开链接http://developer.baidu.com/map/jshome.htm这里有很多DEMO,或者你直接百度搜索“百度地图API”,第一个就是.进入后有很多方向供你选择,由于现在开 ...

  3. 将项目发布到neuxs私服

    需要在 pom.xml中配置 <distributionManagement> <repository> <id>user-release</id> & ...

  4. ssm的自动类型转换器

    1.jsp页面将String 转换成employee类型 <form action="testConversionServiceConverer" method=" ...

  5. Vue的父子组件通信(转载)

    Vue是一个轻量级的渐进式框架,对于它的一些特性和优点在此就不做赘述,本篇文章主要来探讨一下Vue子父组件通信的问题 首先我们先搭好开发环境,我们首先得装好git和npm这两个工具(如果有不清楚的同学 ...

  6. 程序的内存分布 - 以 Linux 为例,基于 C 语言分析

    这里以 Linux 为例,用 C 语言进行演示. 内存模型 - 内存空间名称 内容 读写操作 分配时机 高地址 kernel 内核空间 命令行参数.环境变量等 不可读写 程序运行时 - stack 栈 ...

  7. http协议组成

    摘要 本文主要内容介绍什么是http协议 了解http协议之前我们先了解一下当我们输入一个url到页面渲染出来,这个过程发什么了什么呢~ 网络开启线程开始解析url DNS解析域名,查询IP 建立TC ...

  8. 【Qt开发】Qt中图像的显示与基本操作

    Qt可显示基本的图像类型,利用QImage.QPxmap类可以实现图像的显示,并且利用类中的方法可以实现图像的基本操作(缩放.旋转). 1. Qt可显示的图像类型 参考Qt的帮助文档,可支持的类型,即 ...

  9. 第十四周总结 Io之文件流

    I/O相关 输入/输出 流(数据流动) 数据流动的方向 读数据(输入input) 写数据(输出output) 文件流 字符流 数据流 对象流 网络流.... 1.什么叫文件 一种电脑的存储方式 文件有 ...

  10. [Git] 020 stash —— Git 中的”皮姆粒子“

    0. 我准备模拟两种情况 第一种 第二种 情况简析 仓库中的最新版本发现 Bug,需要立即修复 当前在 "dev" 分支中工作到一定程度,尚不能提交,但删之可惜 ps: 在分支中没 ...