扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
这篇文章主要介绍了Go语言怎么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
创新互联公司服务项目包括大悟网站建设、大悟网站制作、大悟网页制作以及大悟网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,大悟网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到大悟省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!
第一步:打开https://play.golang.org,在编辑框中输入Hello World程序:
package main import "fmt" func main() { fmt.Println("Hello world") }
如下图所示: 第二步:点击“Run”按钮,可以看到程序的输出结果“Hello,world”。 恭喜你,已经编写了第一个Go程序,并正确地输出了结果。
虽然Hello World程序很简单,但是依然包含了Go语言的一些核心概念。接下来,我们就一行一行地解读Hello World程序。
第一行:package main
程序的第一行声明了名为main的package。Go语言的代码是通过package来组织的,package的概念和其他语言里的package,module概念类似,是一个逻辑的,包含了相同功能代码的集合。一个package会包含一个或多个.go
源代码文件。每一个源文件都是以package开头。比如我们的例子里是package main。这行声明语句表示该文件是属于哪一个package。
需要注意,package main是一个比较特殊的package。main package是Go程序的入口。准确说,Go程序的入口是名为main的package中的main方法(即例子中的main方法)。
第二行: import
package声明语句后紧跟着是import语句。import语句会引入其他package到当前文件中,这样就可以在当前文件使用其他package中的变量,常量,类型,方法等。Go的import和Java的import,C++的include类似。 Go标准库已经提供了100多个package,fmt
这个package包含接受输入,格式化输出的各种函数。Println
是其中的一个常用函数,可以格式化地输出一段文本。
第三行: func main
第三行声明了一个函数,函数名为main。在Go语言中使用func
关键字来声明一个函数。格式为:
func 函数名(参数名1 参数类型1, 参数名2 参数类型2, ... ) 返回类型1, 返回类型2, ...
比如下面的方法:
func sayHello(name string, age int) string
声明了一个sayHello方法。接收两个参数:string类型的name和int类型的age。并返回一个string类型的值。 前面也提到了,在main这个package里,main函数也是一个特殊的函数,这是整个程序的入口(其实C系语言差不多都是这样)。
第四行: fmt.Println
第四行是程序真正执行的逻辑,会输出“Hello world”。fmt是通过import引入的包,是go标准库提供的包。Println是fmt包中定义的一个方法,作用是将文本输出到标准输出。
通过Hello world,我们可以发现Go语言的一些特点:
语句的结尾不需要分号。这和C系语言,Java等语言不同。
Go语言不需要显示声明方法或变量的作用范围。即不用显式声明public或private。其实Go语言是通过变量或方法名的首字母是大写还是小写来确定作用范围的。大写字母开头的为public,小写字母开头的为private。
还有一些Go的特点,由于Hello world程序比较简单,没有体现出来。这里也顺带说一下:
Go语言声明变量和方法参数时,名字在前,类型在后。比如var name string
。这和C系语言,Java语言都不同。
Go语言在代码格式上采取了很强硬的态度。go提供的gofmt
工具会将你的代码格式化为标准格式(这个格式化工具没有任何可以调整代码格式的参数,Go语言就是这么任性),规定一种标准的代码格式可以规避掉无尽的无意义的圣战(撕逼)(也导致了Go语言的TIOBE排名较低,因为缺少撕逼的话题)。Go的这种哲学可以保证当一个大团队一起开发和维护一个项目时,团队间的协作更加地标准,高效。
感谢你能够认真阅读完这篇文章,希望小编分享的“Go语言怎么用”这篇文章对大家有帮助,同时也希望大家多多支持创新互联,关注创新互联行业资讯频道,更多相关知识等着你来学习!
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流