Hello World

1 建立 Go 工作区

在编写代码之前,我们首先应该建立 Go 的工作区(Workspace),环境搭建一节,我们已经讲过了。

在 Mac 或 Linux 操作系统下,Go 工作区应该设置在 $HOME/go。所以我们要在 $HOME 目录下创建 go 目录。

而在 Windows 下,工作区默认设置在 C:\Users\YourName\go。所以请将 go 目录放置在 C:\Users\YourName

其实也可以通过设置 GOPATH 环境变量,用其他目录来作为工作区。但为了简单起见,我们采用上面提到的放置方法。

所有 Go 源文件都应该放置在工作区里的 src 目录下。请在刚添加的 go 目录下面创建目录 src

所有 Go 项目都应该依次在 src 里面设置自己的子目录。我们在 src 里面创建一个目录 hello 来放置整个 hello world 项目。

创建上述目录之后,其目录结构如下:

go
  -src
    -hello

 在我们刚刚创建的 hello 目录下,在 helloworld.go 文件里保存下面的程序。

package main

import "fmt"

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

创建该程序之后,其目录结构如下:

go
  -src
    -hello
      -helloworld.go

 

2 运行 Go 程序

运行 Go 程序有多种方式,我们下面依次介绍。

2.1 先编译 go build .\helloworld.go 生成 helloworld.exe 可执行文件,再执行 helloworld.exe 可执行文件

2.2 使用 go run 命令 编译并执行,输入 go run .\helloworld.go

2.3 使用 go install 命令 - 运行 go install hello,接着可以用 workspacepath/bin/hello 来运行该程序。

上述命令中的 workspacepath 应该替换为你自己的工作区路径(Windows 下的 C:/Users/YourName/go,Linux 或 Mac 下的 $HOME/go)。

当你输入 go install hello 时,go 工具会在工作区中搜索 hello 包(hello 称之为包)。接下来它会在工作区的 bin 目录下,创建一个名为 hello(Windows 下名为 hello.exe)的二进制文件。运行 go install hello 后,其目录结构如下所示:

go
  -bin
    -hello
  -src
    -hello
      -helloworld.go

2.4 使用goland编辑器,直接右键执行

 

3 hello world 程序代码介绍

重点
go(所有编译型语言)项目要运行,必须有一个入口
go的入口是main包下的main函数

main包下可不可以有多个main函数:不可以

package main //程序首行,必须指明是哪个包 这里表示是main包,每一个go文件都属于某个包

import "fmt" //导入fmt包(内置包) 因为Println函数是在fmt包下

//***在函数外只能声明变量,常量,类型定义等,不能写逻辑代码

func main() { //定义一个main函数,大括号包裹是函数体的内容 
    fmt.Println("Hello World") //输出 Hello World,打印函数等同与print()
}


/*
package main - 每一个 Go 文件都应该在开头进行 package name 的声明。包(Package)用于代码的封装与重用,这里的包名称是`main`。

import "fmt" - 我们引入了 fmt 包,用于在 main 函数里面打印文本到标准输出。

func main() - main 是一个特殊的函数。整个程序就是从 main 函数开始运行的。main 函数必须放置在 main 包中。{和} 分别表示 main 函数的开始和结束部分。

fmt.Println("Hello World") - fmt 包中的 Println 函数用于把文本写入标准输出。
*/

 

4 go语言在goland中的运行模式

goland编辑器右上方设置

下拉,有3种运行模式,如果选择file以文件运行,执行项目是以文件执行,不是以main包执行,因此两个.go文件的main包下都有main函数,是相互不感知的,都可以运行。正常情况一个项目只能有一个main包,main包下只能有一个main函数。

posted @ 2022-11-10 22:01  不会钓鱼的猫  阅读(667)  评论(0编辑  收藏  举报