go语言的hello world

woodsMaple · · 914 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。


一、安装Go

使用 Go 语言之前,首先要安装 Go。Go 为 Linux、Mac、Windows 等不同的平台分别提供了相应的安装包:https://golang.google.cn/doc/install,根据自己的操作系统选择对应的安装包点击下载,然后按照引导流程安装即可。

安装完成后,通过 go version 查看 Go 语言的版本来验证是否安装成功,以 Mac 为例,对应的版本信息如下:

查看go版本

对于windows来说, 命令是一样的.

二、开发工具选择

在本地安装完 Go 环境之后,需要选择一个趁手的开发工具来编写 Go 语言代码,目前比较流行的开发工具有集成开发环境 GoLand 以及微软家开源的 Visual Studio Code(VS),使用 VS Code 的话需要安装Go 扩展,对于新手,推荐使用 GoLand。

三、编写hello world

选择好了开发工具,接下来,就可以直接开始编写第一个 Go 语言程序了,还是遵循编程语言的一贯传统,我们从 Hello World 开始 Go 语言学习之旅。

首先,我们进入用户根目录,并在该目录下创建一个 go 目录,用来存放所有的 Go 语言代码:

生成目录

四、编译 & 运行程序

之所以在这里位置创建这个目录来存放代码,是因为 Go 语言默认的 GOPATH 环境变量值就是该路径,不管是 Linux、Mac 还是 Windows 都是如此

我们继续在 go 目录下新增一个项目,取名为 test,进入该项目目录,创建一个 Go 文件 hello.go:

创建文件

接下来,我们编写hello.go 源码如下:

hello world

四、代码解读

和 Java 类似,Go 使用包作为基本单位来管理代码(可以类比为 PHP 中的命名空间),每个 Go 源代码文件的开头都是一个 package 声明,表示该文件中 Go 代码所属的包。包是 Go 语言里最基本的分发单位,也是工程管理中依赖关系的体现。要生成 Go 可执行程序,必须建立一个名字为 main 的包,并且在该包中包含一个叫 main() 的主函数,该函数是 Go 可执行程序的执行起点,这一点和 C 语言和 Java 语言很像,后续编译 Go 项目程序的时候也要从包含 main 包的文件开始。Go 语言的 main() 函数不能带参数,也不能定义返回值。

在包声明之后,是一系列的 import 语句,用于导入该程序所依赖的包(可类比为 PHP 中通过 use 引入其它命名空间的类来理解)。由于本示例程序用到了Println() 函数,所以需要导入该函数所属的 fmt 包。

有一点需要注意,与 Java 和 PHP 不同,在 Go 语言中,不得包含在源代码文件中没有用到的包,否则 Go 编译器会报编译错误。这与下面的强制函数左花括号 { 的放置位置以及之后会提到的函数名的大小写规则,均体现了 Go 语言在语言层面解决软件工程问题的设计哲学。

所有 Go 函数(包括在面向对象编程中会提到的类型成员函数)都以关键字 func 开头(这一点与 PHP、Java、JavaScript 等语言通过 function 定义函数不同)。另外在 Go 函数中,左花括号 { 必须函数定义行的末尾,不能另起一行,否则 Go 编译器报告编译错误:

syntax error: unexpected semicolon or newline before {

最后,函数体很简单,就是调用 fmt 包提供的 Println 函数打印「hello,world」这行字符串,Go 语言可以直接通过包名+「.」号引用定义在该包中的函数。

五、编译 & 运行程序

对以上代码含义有了大致的了解后,我们接下来要编译并运行第一个 Go 程序,和 PHP 不同,Go 语言是编译型的静态语言(和 Java、C 一样),在运行 Go 程序之前,先要将其编译成二进制可执行文件,我们可以通过 Go 语言提供的 go build 命令对 Go 程序进行编译,然后运行编译后的可执行文件执行 Go 程序代码:

编译&&执行

可以看到,代码执行成功,打印出了「hello,world」。此外,我们还可以通过 go run 命令来达到同样的效果,该命令将编译和执行指令合二为一,会在编译之后立即执行相应的可执行文件显示执行结果:

显示

有疑问加站长微信联系(非本文作者)

本文来自:简书

感谢作者:woodsMaple

查看原文:go语言的hello world

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

914 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传