Go语言是Google2009年推出的语言,其被设计成一门应用于搭载 Web 服务器,存储集群或类似用途的巨型中央服务器的系统编程语言。如今,Go语言依然被像BAT这样的互联网三巨头公司广泛使用,从事互联网工作的人必须对其有清楚地认识,以下是对Go语言入门的基础知识大科普。
一、Go语言简介
1、什么是go语言?
2007年,受够了C++煎熬的Google首席软件工程师Rob Pike纠集Robert Griesemer和Ken Thompson两位牛人,决定创造一种新语言来取代C++, 这就是Golang。出现在21世纪的GO语言,虽然不能如愿对C++取而代之,但是其近C的执行性能和近解析型语言的开发效率以及近乎于完美的编译速度,已经风靡全球。特别是在云项目中,大部分都使用了Golang来开发,不得不说,Golang早已深入人心。而对于一个没有历史负担的新项目,Golang或许就是个不二的选择。
被称为GO语言之父的Rob Pike说,你是否同意GO语言,取决于你是认可少就是多,还是少就是少(Less is more or less is less)。Rob Pike以一种非常朴素的方式,概括了GO语言的整个设计哲学–将简单、实用体现得淋漓尽致。
很多人将GO语言称为21世纪的C语言,因为GO不仅拥有C的简洁和性能,而且还很好的提供了21世纪互联网环境下服务端开发的各种实用特性,让开发者在语言级别就可以方便的得到自己想要的东西。
2、golang语言特性
(1) 垃圾回收
内存自动回收,再也不需要开发人员管理内存。开发人员专注业务实现,降低了心智负担。只需要new分配内存,不需要释放。
(2)goroute天然并发
从语言层面支持并发,非常简单。使用一个go则在编译时会自动开启一个线程来执行后面的命令/函数/方法,不用像python需要先调用thread模块来开启线程goroute,轻量级线程,创建成千上万个goroute成为可能。基于CSP(Communicating Sequential Process)模型实现。
(3)多返回值
Go的函数可以有多个返回值
“`
func main() {
x,y:=p_fun(10,80)
// x,_ := p_fun(10,80) 多返回值函数时,只要一个返回值
fmt.Println(x,y)
}
//多返回值函数
func p_fun(a int,b int) (int,int) { //函数传入2个整型参数,返回2个值,都为int类型
sum := a+b
avg := (a+b)/2
return sum,avg
}
(4)go的“包”的概念
a.和python一样,把相同功能的代码放到一个目录,称之为包。
b.包可以被其他包引用。
c.main包是用来生成可执行文件,每个程序只有一个main包。
d.包的主要用途是提高代码的可复用性。
e.包的引用
Go在首行使用“package <包名>”来声明自己所在的包(主程序包为main包,也可以自定义包名),“import”引入其他的包,go自带的系统包所在的路径已经在“GOROOT”环境变量中设置好了.
可以使用“import”直接引入,而自己定义的包: package <包名> 在import导入时则需要相对路径:第三方包默在“GOROOT”和“GOPATH”环境变量所在的路径下的src目录下寻找.
(5)go文件编码规范
使用gofmt <go文件>使go文件内的代码更规范(缩进等格式更规范),使用gofmt -w <go文件>将原来的go文件修改的更规范。
以上就Go语言入门的基础知识大科普,对Go语言还有兴趣了解的小伙伴可以继续关注博学谷资讯,如果还想更加深入学习可以到博学谷官网咨询相关课程。
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
博学谷线上Go语言与区块链培训班课程大纲内容学什么?
Go语言与区块链课程大纲分为四个阶段学习,主要内容:区块链主流语言:Go语言开发实战、区块链后端技术体系:Go语言高并发服务器开发、去中心化前端开发与web服务器开发、区块链密码学安全理论与开发等内容。
5957
2019-06-10 10:19:40
参加Go语言与区块链培训班能找到工作吗?
参加Go语言与区块链培训班能找到工作吗?首先我们要了解Go语言与区块链技术的发展趋势。同时也要考察Go语言与区块链培训班是否真的靠谱。小编就从这两个核心的层面与大家分析一下。
4993
2019-08-06 18:54:35
Go语言能做什么?为什么用GO语言来做区块链?
Go语言以其自由高效的出色表现,深受国内外知名企业的欢迎,像Google、Facebook、腾讯、百度、阿里等等巨头企业无一例外都有使用Go语言。那么Go语言能做什么?现在流行的区块链技术为什么用GO语言来做?
5468
2019-09-03 11:03:52
Go语言与区块链技术就业方向多不多?具体有哪些?
Go语言与区块链技术就业方向多不多?具体有哪些?先说Go语言,它不仅是区块链开发的常用语言,还是IT技术人员最欢迎和喜爱的编程语言之一。近些年来,大家越来越能发现区块链的价值与优势,都知道区块链技术能带来丰厚的财富,同时区块链相关的企业也纷纷拔地而起。因此Go语言与区块链技术就业方向有着相当丰富的选择,下面我们来具体看一下吧。
3295
2019-09-29 11:28:51
学习区块链课程需要了解哪些内容?
区块链是一个信息技术领域的术语。从本质上讲,它是一个共享数据库,存储于其中的数据或信息。区块链这门技术的前景广阔,火热程度不减,许多人都想了解它并学习它。那么区块链课程体系要学习了解哪些技术呢?
3506
2020-05-04 16:51:12
- Golang工程师面试攻略
推荐课程
热门文章
- 人工智能如何入门学习?前景如何
- 未来互联网人才还稀缺吗?哪些技术方向热门?
- 智能汽车用到哪些技术?
- 产品可行性分析需要考虑几个方面?
- 日常工作中程序员最讨厌哪些工作事项?
- 博学谷狂野大数据学习多长时间?
- IT互联网程序员的涨薪秘籍是什么?
- Java多线程遇到死锁三招彻底解决
- Python 开发人员经常遇哪些挑战?如何解决?
- 狂野架构师课程如何?能学到什么? 查看更多
扫描二维码,了解更多信息
