Day 1 - go 语言学习之安装配置

本贴最后更新于 1209 天前,其中的信息可能已经事过境迁

为什么要学习 go 语言

1. 硬件限制

基于摩尔定律,通过增加晶体管数量来提升单线程的性能和处理器频率越来越受限,为了解决这些问题,厂商开始向处理器增加内核数量,引入了超线程技术以及增加更多的缓存空间。但这些方案也有其自身的局限性,硬件上突破太难,所以就需要 go 语言这样能提高性能的软件语言。

2. go 语言为并发而生

大多数现代编程语言(如 Java,Python 等)都来自 90 年代的单线程环境,实现多核资源使用需要耗费大量时间精力。而 go 语言从底层原生支持多核,无须第三方库、开发者的编程技巧和编程经验就可以实现。

3. go 语言性能强悍

相比解释型语言,go 是编译型语言,处理器直接运行的是二进制文件,执行效率更高,性能更好。

4. go 语言简单易学

go 虽然是编译型语言,但语法简单,更偏向于解释型语言。代码风格统一,开发效率高。

go 语言应用前景

1. 云原生

web应用的发展过程:
单体应用-----微服务-----服务网格(多语言) ---- 云原生(serverless) - 多语言
微服务是后续服务的起点
容器是服务网格开始发展的基石

2. 运维

go 语言本身没有 python 更适合运维,但是 docker 和 k8s 的出现使得 go 在运维开发中越来越流行。

3. 中间件

etcd:k/v存储,得益于k8s
tidb:TiDB 是一个分布式 NewSQL 数据库。它支持水平弹性扩展、ACID 事务、标准 SQL、MySQL 语法和 MySQL 协议,具有数据强一致的高可用特性,是一个不仅适合 OLTP 场景还适OLAP 场景的混合数据库。	
consul:服务注册和服务发现
jaeger: 链路追踪
nsq: 消息队列
influxdb: 时序数据库 
prometheus:监控和警报系统

4. 区块链

go 语言由于先天的并发优势在高并发场景中得天独厚,像以太坊、fabric 等区块链应用均是由 go 语言开发的。

go 语言安装与配置

1. go 语言安装下载

由于 go 语言是由谷歌开发,资源使用的谷歌的服务器,而国内对于访问谷歌有些困难,因此推荐使用国内镜像来下载安装:https://studygolang.com/dl

2. go 语言配置

Go 1.13 及以上(推荐)

打开你的终端并执行

$ go env -w GO111MODULE=on
$ go env -w GOPROXY=https://goproxy.cn,direct
完成。

macOS 或 Linux

打开你的终端并执行

$ export GO111MODULE=on
$ export GOPROXY=https://goproxy.cn
或者

$ echo "export GO111MODULE=on" >> ~/.profile
$ echo "export GOPROXY=https://goproxy.cn" >> ~/.profile
$ source ~/.profile
完成。

Windows

打开你的 PowerShell 并执行

C:\> $env:GO111MODULE = "on"
C:\> $env:GOPROXY = "https://goproxy.cn"
  • golang

    Go 语言是 Google 推出的一种全新的编程语言,可以在不损失应用程序性能的情况下降低代码的复杂性。谷歌首席软件工程师罗布派克(Rob Pike)说:我们之所以开发 Go,是因为过去 10 多年间软件开发的难度令人沮丧。Go 是谷歌 2009 发布的第二款编程语言。

    497 引用 • 1387 回帖 • 294 关注

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...