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. socket基本概念

    1.socket 是什么? 在计算机通信领域,socket 被翻译为“套接字”,它是计算机之间进行通信的一种约定或一种方式.通过 socket 这种约定,一台计算机可以接收其他计算机的数据,也可以向其 ...

  2. open jdk卸载

    //查找:open jdk # rpm -qa | grep java //卸载open jdk # rpm -e --nodeps 包 # source /etc/profile # java -v ...

  3. Text Classification

    Text Classification For purpose of word embedding extrinsic evaluation, especially downstream task. ...

  4. 通过nginx访问本地图片

    listen 80; server_name image.demo.com; #charset koi8-r; #access_log logs/host.access.log main; locat ...

  5. Spring mvc注解说明

    编号 注解 说明 位置 备注 1 @Controller 将类变成Spring Bean 类 现阶段 @Controller . @Service 以及 @Repository 和 @Componen ...

  6. sql 、linq、lambda 查询语句

    http://www.cnblogs.com/lei2007/archive/2011/07/21/2113161.html

  7. centos7:Kafka集群安装

    解压文件到安装目录 tar -zxvf kafka_2.10-0.10.2.1.tgz 1.进入目录 cd kafka_2.10-0.10.2.1 mkdir logs cd config cp se ...

  8. vue--综合组件间的通信

    二.综合组件之间的通信 实现一个ToDoList. ①完成所有的组件的创建和使用 ②add点击add按钮时候,将用户输入的内容(todoinput),显示在(todolist) 核心代码:兄弟组件间通 ...

  9. 网络通讯数据.传输json(java<==>C#)

    ZC:主要是测试解决 时间转成JSON不一样的问题 ZC:java中转换时间格式的关键是“JSONUtils.getMorpherRegistry().registerMorpher(new Date ...

  10. 使用docker compose 构建多个镜像

    定义docker compose version: ' services: composedb: image: mysql/mysql-server container_name: composedb ...