Go语言入门基础知识有哪些-创新互联

这篇文章主要介绍“Go语言入门基础知识有哪些”,在日常操作中,相信很多人在Go语言入门基础知识有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Go语言入门基础知识有哪些”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

新市ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为创新互联建站的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:13518219792(备注:SSL证书合作)期待与您的合作!

一、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语言入门基础知识有哪些-创新互联
网站网址:https://www.cdcxhl.com/article46/dojieg.html

成都网站建设公司_创新互联,为您提供企业建站App设计软件开发网站策划网页设计公司网站设计公司

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

网站托管运营