博学谷 > 资讯 > 区块链 > Go语言入门 基础知识大科普

原创 Go语言入门 基础知识大科普

发布时间:2019-07-23 19:10:51 浏览 312 来源:博学谷资讯 作者:照照

    Go语言是Google2009年推出的语言,其被设计成一门应用于搭载 Web 服务器,存储集群或类似用途的巨型中央服务器的系统编程语言。如今,Go语言依然被像BAT这样的互联网三巨头公司广泛使用,从事互联网工作的人必须对其有清楚地认识,以下是对Go语言入门的基础知识大科普。

     

    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语言还有兴趣了解的小伙伴可以继续关注博学谷资讯,如果还想更加深入学习可以到博学谷官网咨询相关课程。

上一篇:五大密码技术,全面保护信息安全 下一篇:区块链钱包知识点汇总

相关推荐 更多

最新文章

扫描二维码,回复"区块链"获取90G资料包