大家一起学Golang ——Go语言简介与安装

go语言简介

Go语言是有google公司推出的一门编程语言,是开源,静态编程语言,语法简洁,天生支持并发。
2007年由Robert Griesemer, Rob Pike, Ken Thompson主持开发,又来加入了Ian Lance Taylor, Russ Cox等⼈,在2009年11⽉开源。

go语言特点
  • 简洁 快速 安全
  • 并行 开源
  • 内存管理 数组安全 编译迅速
go语言方向
  • 网络编程领域
  • 区块链开发领域
  • 高性能分布式系统领域

Go语言拥较高效的开发速度,编译迅速(最初开发go语言的大牛都有c语言背景,Go语言语法简洁,似乎可以找到C语言的影子),GO被称为二十一世纪的C语言。
在不需要耗费太多心智的情况下,可以开发出运行高效的网络服务,当然前提是对Go熟悉(简直是废话==!)。在2017年的时候,区块链概念炒得热火朝天,在此上的虚拟货币更是炒上天,垃圾币随之铺天盖地,各色淘金者游走在灰色地带。很多的虚拟货币的后台就是使用Go语言开发的,工资也是水涨船高,近年国家“正规军”入手数字货币,推动区块链的在金融领域,征信领域的发展,也让人看到不少希望。Go在高性能分布式系统的领域的应用,也是备受瞩目,杀手级应用Dockers、K8S都是用Go来开发的,国内新兴互联网公司内部开发大举推进Go的普及。虽说语言层出不穷,但Go,值得拥有。
接下来看看Go语言开发环境的配置。

go环境安装
  • 安装包环境:https://studygolang.com/dl
  • 选择对应操作系统的安装包,安装环境路径中不要出现中文。
工作区

go语言在特定目录来管理项目工程,工作区包括src,pkg,bin三个目录

  • src: 代码包的形式保存Go源码文件
  • pkg: 存放经由go install命令构建安装后的代码包的.a归档文件
  • bin: 生成可执行文件
windows环境

windows安装过程中,GOROOT直接就是安装路径并自动添加到系统path变量中。
工作区域gopath 就是我们编写代码的工程项目路径。我的电脑 --> 右击属性 --> 高级系设置 --> 环境变量 --> 系统环境变量 --> 添加GOPATH

Linux环境下

下载go语言开发包
解压到指定/usr/local目录下:tar -C /usr/local -xzvf go1.13.7.linux-amd64.tar.gz
/usr/lcoal/go/bin/go version 检查go版本
linux设置gopath,将环境变量添加到profile文件中,如果是单用户可添加到 ~/.bash_profile 中;如果是多用户添加到/etc/profile,那我们就添加这个文件中,最后source /etc/profile使环境变量生效。
添加内容如下:

    export GOROOT=/usr/local/goexport PATH=$PATH:$GOROOT/binexport GOPATH=$HOME/workspace/goexport PATH=$PATH:$GOPATH/bin

常用命令:

  • go help build 查询build文档
  • go version go语言版本号
  • go build 编译项目,打包成可执行文件,-o 编译后文件名称
  • go install 编译并安装项目
  • go run 编译并运行项目
  • go doc获取帮助文档,例go doc strconv
  • go env 获取当前系统内go相关的环境变量信息
  • go test 测试工具,自带测试工具,自动读取源码目录下面的*_test.go的文件,生成运行测试用的测试文件 。

可执行测试:

  • _test.go 结尾的都是测试文件,其中Test() 函数名要符合大驼峰规则,func TestXxx (t *testing.T)函数参数是testing.T 该类型记录错误或是测试状态
  • 测试用例会按照源代码中写的顺序依次执行
  • 函数中通过调⽤ testing.T 的 Error, Errorf, FailNow, Fatal, FatalIf ⽅法,说明测试不通过,调⽤用 Log 方法⽤来记录测试的信息。
package main
import ("testing""time"
)
func TestHelloWorld(t *testing.T) {timestamp := time.Now().Unix()t.Log(timestamp)
}

执行查看结果:
go test -v class_test.go

大家一起学Golang——Go语言简介与安装相关推荐

  1. 《从问题到程序:用Python学编程和计算》——1.2 Python语言简介

    本节书摘来自华章计算机<从问题到程序:用Python学编程和计算>一书中的第1章,第1.2节,作者 裘宗燕,更多章节内容可以访问云栖社区"华章计算机"公众号查看. 1. ...

  2. Golang(1)Golang语言简介

    Golang(1)Golang语言简介 Golang(2)win10下安装Go语言 Golang(3)CentOS7系统安装Go语言 一.Golang的学习方向 (1)区块链研发工程师 (2)Go服务 ...

  3. 第01节 Go语言简介

    第01节 Go语言简介 本节内容: Go简介. Go语言应用. Go成功的项目. 为什么选择Go语言. Go语言特点总结. 1.1 Go简介 **Go (或 Golang )**是 Google 20 ...

  4. Go 语言简介(下)— 特性

    希望你看到这篇文章的时候还是在公交车和地铁上正在上下班的时间,我希望我的这篇文章可以让你利用这段时间了解一门语言.当然,希望你不会因为看我的文章而错过站.呵呵. 如果你还不了解Go语言的语法,还请你移 ...

  5. c语言中return的作用_C语言简介

    C语言简介 c语言是人和机器交流的语言. c语言是面向过程的语言 C语言的优点:代码量小.执行速度快.功能强大.编程自由 英语不好能不能学:C语言一共32个关键字,以及为数不多的规则.建议三年级以下学 ...

  6. 语言迭代发_从今天开始,每天学点R语言~

    首先,在这里先跟大家说声对不起,技术团队最近一直在做课程开发,本着宁缺毋滥的原则,我们的微信文章一再搁置,在编辑部催了无数遍之后,终于可以把课程放出来给大家了. 为了增加课程的实用性,在前期课程的基础 ...

  7. php语言开始和结束分别为,0055 PHP语言简介和HelloWorld

    0055 PHP语言简介和HelloWorld 作者:PHPYuan 时间:2018-10-01 03:41:29 第3章学习了如何编写JavaScript代码来动态修改网页内容. 虽然JavaScr ...

  8. 第一章 Web MVC简介 —— 跟开涛学SpringMVC 博客分类: 跟开涛学SpringMVC webmvcjavaeespring跟开涛学SpringMVC Web MVC简介 1.1、We

    第一章 Web MVC简介 -- 跟开涛学SpringMVC 博客分类: 跟开涛学SpringMVC webmvcjavaeespring跟开涛学SpringMVC Web MVC简介 1.1.Web ...

  9. 教孩子学编程 python语言版_教孩子学编程 PYTHON语言版 PDF_IT教程网

    资源名称:教孩子学编程 PYTHON语言版 PDF 资源目录: 第1章Python基础--认识环境1 1.1认识Python3 1.2用Python编写程序5 1.3运行Python程序5 1.4本章 ...

最新文章

  1. 基于jquery的serializeArray
  2. Python基础,Hello,world
  3. npm无法安装node-sass的解决方法
  4. php使用mkdir创建多级目录入门例子
  5. 车和家李想:特斯拉加州经验难以直接复制到国内
  6. To 研究生,第一:做学位论文期间,不要有任何度假休息的打算;第二,导师错的时候不多;第三……...
  7. php pdf 文字水印图片,php如何给pdf加上文字水印和图片水印[未测试]
  8. oracle 修改2个表,oracle学习笔记2:创建修改表
  9. 12999元!小米MIX FOLD致敬未来尊享礼盒上线:限量100套 想买先抽签
  10. “ Value of nested property ‘teacher‘ is null”内部嵌套对象为空的问题
  11. 193.有效电话号码
  12. Phase2 Day13 MyHashMap
  13. cartpole 离散型动作 A3C
  14. 50 条有趣的 Python 一行代码,建议收藏夹吃灰
  15. 优雅地实现一个高效、异步数据实时刷新的列表
  16. VR旅游应用案例解析,世界那么大用VR去看看!
  17. 李刚疯狂java讲义第3_【Java】-NO.16.EBook.4.Java.1.009-【疯狂Java讲义第3版 李刚】- 泛型...
  18. LightOJ 1140 - How Many Zeroes? 数位DP
  19. 最近爆火chatGTP是人工智能还是人工智障?
  20. 收藏!2023年全年考证时间表!

热门文章

  1. 如何实现网站的登录功能
  2. 利用PYTHON调用INCA(在INCA7.0和7.2已实现)
  3. table标签去除默认边框
  4. win7+thinkpad t400
  5. uboot之bootcmd环境变量分析
  6. EF.Function
  7. 使用 ChatGPT 构建 YouTube 下载器的分步指南
  8. windows开启nfs_nfs启动不了怎么办_电脑开启nfs服务的方法
  9. 项目记录:基于QT的简易音乐播放器
  10. Linux环境下gdb程序调试