hi,你好!欢迎访问本站!登录
本站由网站地图腾讯云宝塔系统阿里云强势驱动
当前位置:首页 - 教程 - 杂谈 - 正文 君子好学,自强不息!

Go言语入门:Hello world

2019-11-18杂谈搜奇网44°c
A+ A-

本文是「vangoleo的Go言语进修笔记」系列文章之一。
官网: http://www.vangoleo.com/go/go-hello-world/

在上一篇文章你好,Go言语中,我们对Go言语的汗青和特征有了熟悉。接下来,我们就正式进入Go的进修了。
根据大部分编程言语的通例,我们以典范的“Hello World”最先Go言语的进修之旅。

典范的“Hello World”案例来自于1978年出书的C言语圣经 。很偶合的是该书的作者Brian W. Kernighan也是《Go言语圣经》一书的作者。

本教程中,我会运用最轻易的体式格局Golang Playground来体验Go言语。在浏览器中翻开https://play.golang.org,在页面直接编写Go代码,并运转。运用Golang Playground无需装置Go,无需设置Golang的开辟环境(比方环境变量),无需装置文本编辑器或IDE。

大部分的Hello World教程都邑从怎样装置Go,设置环境变量等最先。然则Go言语的装置和开辟环境设置实际上是一个比较复杂的话题。我愿望在人人刚打仗Go言语时,能对go言语有一个疾速,直观的熟悉。而不要堕入怎样设置Go的开辟环境。设置Go的开辟环境涉及到Go言语的别的两个观点:GOPATH和Go module。而这又会牵扯到Go言语杂沓、悠长的依靠治理发展史。后续会有特地的章节来举行引见。

运用Go Playground

第一步:翻开https://play.golang.org,在编辑框中输入Hello World顺序:

package main

import "fmt"

func main() {
    fmt.Println("Hello world") 
}

如下图所示:

第二步:点击“Run”按钮,能够看到顺序的输出效果“Hello,world”。
祝贺你,已编写了第一个Go顺序,并正确地输出了效果。

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包中定义的一个要领,作用是将文本输出到规范输出。

Go言语特征

经由过程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的这类哲学能够保证当一个大团队一同开辟和保护一个项目时,团队间的合作越发地规范,高效。

本文由 www.vangoleo.com 宣布

  选择打赏方式
微信赞助

打赏

QQ钱包

打赏

支付宝赞助

打赏

  移步手机端
Go言语入门:Hello world

1、打开你手机的二维码扫描APP
2、扫描左则的二维码
3、点击扫描获得的网址
4、可以在手机端阅读此文章
未定义标签

本文来源:搜奇网

本文地址:https://www.sou7.cn/282354.html

关注我们:微信搜索“搜奇网”添加我为好友

版权声明: 本文仅代表作者个人观点,与本站无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。请记住本站网址https://www.sou7.cn/搜奇网。

发表评论

选填

必填

必填

选填

请拖动滑块解锁
>>