centos 7安装golang环境

参考

CentOS7安装Go环境 - MrBlue - 博客园

Go下载 - Go语言中文网 - Golang中文社区

wget https://studygolang.com/dl/golang/go1.12.1.linux-amd64.tar.gz

mkdir  /data/work -p

$tar -zxvf  go1.12.1.linux-amd64.tar.gz -C /data/work/


 

设置环境变量
$vim /etc/profile
添加
export GOROOT=/data/work/go
export GOPATH=/data/work/gopath
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin

export GOROOT=/home/test/go
export GOPATH=/home/test/gopath
export GOPROXY=https://goproxy.cn

export PATH=$PATH:$GOROOT/bin:$GOPATH/bin

source  /etc/profile

#go version
go version go1.12.1 linux/amd64
 

go build命令(go语言编译命令)完全攻略

相比 C 、C++,Go 为什么不火?

相比 C 、C++,Go 为什么不火?_CSDN资讯-CSDN博客

Go语言之父Pike提到:Go语言是以C为原型,以C++为目标而设计的。因为他觉得C++忒复杂了,要解救程序员于水火。

虽然Go以C++为目标而设计,但尴尬的是,Pike坦承Go并没有吸引来多少C++程序员,反而是吸引了不少Python、Ruby程序员。

Go信奉的哲学:Less Is More,大道至简。

Go是介于C与C++之间的语言,比C抽象层次高,比C++抽象层次低。

因为是一门新的编程语言,站在巨人的肩膀,博采众长,规避了一些已知的问题,开发了一些优秀的特征,相比C/C++,Go的核心特征包括以下几个方面:

  1. 原生并发,以东尼·霍尔的通信顺序进程(CSP)为基础的goroutine,适合现代多核机器

  2. 垃圾回收,非常高效(请来世界顶级内存管理专家设计)

  3. 强大的标准库,对网络编程等的良好支持

  4. CGO提供了GO调用C机制,扩展了GO的能力边界

  5. 内嵌关联数组

  6. 非侵入式的接口设计

  7. 简单清晰的语法

Go vs C/C++

640?wx_fmt=png

Go与C语法详细对比详见:http://hyperpolyglot.org/c

golang入门之go语言简介

golang入门之go语言简介 - Go语言中文网 - Golang中文社区

列出几个我认为比较优秀的设计:

  • if for switch之类的语句不需要用括号了,但保留了大括号,方便定位语句块。
  • 可以使用 := 进行自动类型推导。再也不用写诸如 list::iterator it = l.begin()之类的语法了。
  • 使用字母大小写设置可见性(letter case sets visibility)。省去了成员前面一堆的public和private,直接看名字就可以辨认。
  • 保留了指针操作,但去掉了指针算术,指针更安全了,同时留给了程序员使用值语义和引用语义的权利。
  • defer关键字。妈妈再也不用担心句柄没有关闭了。

Go对OOP的支持有如下特点:

  • 返璞归真,没有继承,只有组合
  • 明确区分复用和抽象,复用使用组合,抽象使用
  • 所见即所得,明确的内存模型,没有vtable之类的东西
  • 鸭子类型,抽象更方便

Go对并发的支持是一个重要的特性,go有两大神器来支持并发:

  • goroutine:轻量的"线程"
  • channel: 带类型的,协程安全的管道,类似unix里面的pipe.

Go在工程上的设计:

Go在工程上的设计可谓体贴入微:

交叉编译只是一个环境变量的问题:

  • 编译成linux的二进制 GOOS=linux go get github.com/icexin/markdown
  • 编译成windows的二进制 GOOS=windows go get github.com/icexin/markdown
  • 编译成arm上的二进制 GOOS=linux GOARCH=arm go get github.com/icexin/markdown
  • 如果尝试过c的交叉编译的同学就能体会这种便捷性。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值