第一个 Go 程序

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

这里简单记录学习Golang之旅,方便自己回顾。

package main

import "fmt"// 我们需要使用fmt包中的Println()函数

func main() {
fmt.Println("Hello, world!
")


每个Go源代码文件的开头都是一个package声明,表示该Go代码所属的包。包是Go语言里最基本的分发单位,也是工程管理中依赖关系的体现。要生成Go可执行程序,必须建立一个名字为main的包,并且在该包中包含一个叫main()的函数(该函数是Go可执行程序的执行起点)。

Go语言的main()函数不能带参数,也不能定义返回值。命令行传入的参数在os.Args变量中保存。如果需要支持命令行开关,可使用flag包。 

在包声明之后,是一系列的import语句,用于导入该程序所依赖的包。由于本示例程序用到了Println()函数,所以需要导入该函数所属的fmt包。 

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

所有Go函数(包括在对象编程中会提到的类型成员函数)以关键字func开头。一个常规的函数定义包含以下部分:

func 函数名(参数列表)(返回值列表) {// 函数体

}

对应的一个实例如下:

func Compute(value1 int, value2 float64)(result float64, err error) {// 函数体

}Go支持多个返回值。以上的示例函数Compute()返回了两个值,一个叫result,另一个是

err。并不是所有返回值都必须赋值。在函数返回时没有被明确赋值的返回值都会被设置为默认值,比如result会被设为0.0,err会被设为nil。 

Go程序的代码注释与C++保持一致,即同时支持以下两种用法:

/*

块注释

*/

// 行注释

相信熟悉CC++的读者也发现了另外一点,即在这段Go示例代码里没有出现分号。Go程序并不要求开发者在每个语句后面加上分号表示语句结束,这是与CC++的一个明显不同之处。 


编译程序:

假设之前介绍的Hello, world代码被保存为了hello.go,并位于~/golang目录下,那么可以用以下命令行编译并直接运行该程序:

$ cd ~/goyard
$ go run hello.go #
直接运行Hello, world!

使用这个命令,会将编译、链接和运行3个步骤合并为一步,运行完后在当前目录下也看不到任何中间文件和最终的可执行文件。如果要只生成编译结果而不自动运行,我们也可以使用 Go命令行工具的build命令: 

$ cd ~/golang
$ go build hello.go
$ ./hello
Hello, world



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

本文来自:CSDN博客

感谢作者:q454684431

查看原文:第一个 Go 程序

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

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