Golang语言教程之hello,world

[复制链接]
admin 发表于 2019-8-4 22:41:34 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
  1. package main

  2. import "fmt"

  3. func main () {
  4.         fmt.Println("Hello,世界")
  5. }
复制代码

基础介绍
Go 不同于PHP,它是编译型的语言,Go的工具链将程序的源文件转变成机器相关的原生二进制指令。
这些工具可以通过单一的go 命令配合其子命令进行使用。
今天主要讲两个子命令:
最简单的子命令是run ,它将一个或多个以.go 为后缀的源文件进行编译、链接,
然后运行生成的可执行文件。
go run helloworld.go
// 输出:
Hello,世界
Go 原生地支持Unicode ,所以它可以处理所有国家的语言。
另外一个子命令是build
它可以编译输出成一个可复用的二进制程序
go build helloworld.go
这条命令生成了一个叫做helloworld 的二进制程序
它可以不用进行任何其他处理,随时执行:
./helloworld
// 输出:
Hello,世界

代码介绍
Go 代码是使用包来组织的,包类似于PHP语言中的模块
一个包由一个或多个.go 源文件组成,放在一个文件夹中,通常该文件夹的名字描述了包的作用
package 包声明
每一个源文件的开头都以package 声明,指明这个文件属于哪个包
import 导入声明
后面跟着它导入的其它包的列表,以import 声明
例子里面只导入了一个fmt 包,如果导入多个包,有两种方式:
方式1:
import "fmt"
import "os"

方式2:
import (
   "fmt"
   "os"
)
Go 的标准库中有100多个包,每个包中又有许多完成编写程序时的一些常规任务的函数

特殊的包 - main包
main包比较特殊,它用来定义一个独立的可执行程序,而不是库
main包中的main函数也是特殊的,它总是程序开始执行的地方,通常main函数会调用其它包中的函数来做更多的事情

必须精确导入程序需要的包,在缺失导入或者存在不需要的包时,编译会失败,这种严格的要求可以防止程序中引用不需要的包

程序声明
然后是一些程序声明(函数、变量、常量、类型),通常以func、var、const、type 开头
一般情况下,声明的顺序是随意的
示例中在import 导入声明后面,只声明了一个函数,这个函数只调用了一个其他函数
一个函数的声明由func 关键字、函数名、参数列表(main 函数为空)、返回值列表(可以为空)、函数体(放在大括号内)组成

Go 和PHP 还有一个不同的地方是,Go 代码不需要在语句后面使用分号结尾,除非有多个语句写在同一行,实际上跟在特定符号后面的换行符被转换为分号了,所以
在什么地方换行会影响Go 代码的解析

代码格式化
Go 对于代码的格式化要求非常严格。这里又要讲一个go 命令的子命令fmt
它可以格式化指定包里的所有文件或者当前文件夹中的文件
许多编辑器可以配置为每次保存文件时自动运行go fmt

此外推荐一个可以按需管理导入声明的插入和移除的工具 goimports
它不是标准发布的一部分,可以通过执行下面命令获取到:
go get golang.org/x/tools/cmd/goimports

总结
本文通过helloworld 示例程序,介绍了Go 程序如何运行、Go 程序的组成和一些Go 命令介绍,其中需要特别强调的是Go 代码中package 包声明,import 导入
声明、程序声明的顺序必须按照示例代码中排列,不可随意排列。
*滑动验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则