Hello World

Hello World

上一节:第一篇 介绍和安装
下一节:第三篇 变量

这是本Golang系列教程的第二篇。

除了亲自写代码以外没有更好的方式来学习一门新的编程语言。在这篇教程中我们将开始编写我们的第一个程序。

推荐使用 Visual Studio Code 搭配 Go插件作为 IDE

搭建Go工作空间

在写代码之前,我们需要搭建Go工作空间。

如果是 Mac 或者 Linux,Go的工作空间应该在 $HOME/go 目录。因此我们在 $HOME 目录下新建一个 go 子目录。

如果是 Windows,Go的工作空间应该在 C:\Users\YourNamae\go 目录。因此我们在 C:\Users\YourName 目录下新建一个 go 子目录。

也可以通过设置环境变量 GOPATH 来指定 Go 的工作空间为其他目录。但是为了简单让我们使用上面建立的目录。

所有的源代码文件应该放在工作空间目录下的 src 子目录中,因此我们在工作空间目录(也就是上面创建的 go 目录)下创建 src 子目录。

在 src 目录下,每一个 Go 的项目应该有一个单独的目录。因此我们在 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

运行 Go 程序

可以有多种方式可以运行一个 Go 程序,下面一个一个地介绍。

1、使用 go run 命令。在命令提示符中输入以下命令

go run workspacepath/src/hello/helloworld.go

其中,workspacepath 应该是你自己的工作空间路径(在Windows下为 C:/Users/YourName/go ,在 Linux 和 Mac 下为 $HOME/go)。

执行之后应该可以看到在控制台中打印了 Hello World。

2、使用 go install 命令。在命令提示符中输入以下命令:

go install hello

然后再输入以下命令运行程序:

workspacepath/bin/hello

以上命令是在 Mac 或者 Linux下的命令,如果是在 Windows 下,则应该为 workspacepath\bin\hello.exe

其中 workspacepath 应该替换成你自己的工作空间目录(在 Windows 下为 C:/Users/YourName/go ,在 Linux 和 Mac 下为 $HOME/go)。执行之后应该可以看到在控制台中打印了 Hello World。

当执行 go install hello时,Go 工具会在工作空间中查找 hello 包(hello 称为一个包,我们将在以后的教程中解释什么是包)。接着它将会在 [工作空间]/bin 下创建(译者注:经过编译、链接)一个名为 hello(在Windows下为 hello.exe) 的二进制文件。执行完 go install hello之后的目录结构如下:

go/
    bin/
        hello  -- 译者注:在Windows下是 hello.exe
    src/
        hello/
            helloworld.go

3、使用 Go playground

第三种运行 Go 程序的“酷酷的”方式是使用 Go playground。虽然这种方式有其自身的限制,但是这种方式在我们需要运行一个简单的程序时非常方便。我(原文作者)已经为 hello world 程序创建了一个 playgournd。可以点击这里在线执行它。(译者注:访问Go playground可能被墙。)

你可以在 Go playground 与其他人分享你的源代码。(译者注:在 playground 页面可以点击 [Share] 按钮创建用于分享的URL)

对 hello world 程序的简要解释

下面是我们刚刚编写的 hello world 程序代码:

package main //1

import "fmt" //2

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

这里简要解释每一行都做了什么。我们会在以后的教程中更详细地介绍它们。

package main:每个 Go 文件都必须以 package name 语句开头。包(package)提供了代码封装和重用。这里包的名字为 main。

import "fmt":导入 fmt 包,在 main 函数中将使用这个包打印文本到标准输出。

func main():main函数是一个特殊的函数,它是 Go 程序的入口点。main 函数必须包含在 main package 中。 { 和 } 表示 main 函数的开始和结束。

fmt.Println(“Hello World”):fmt 包里的 Println 函数用来打印文本到标准输出。

若文章对你有帮助,可以点赞或打赏支持我们。发布者:Aurora,转载请注明出处:http://61.174.243.28:13541/AY-knowledg-hub/2-hello-world/

(0)
AuroraAurora站点维系者
上一篇 2023年 12月 5日 下午6:09
下一篇 2023年 12月 5日 下午6:11

相关推荐

  • unlink

    文章目录unlink补充说明语法选项参数 unlink 系统调用函数unlink去删除指定的文件 补充说明 unlink命令 用于系统调用函数unlink去删除指定的文件。和rm命…

    入门教程 2024年 3月 11日
  • getsebool

    文章目录getsebool补充说明语法选项实例 getsebool 查询SElinux策略内各项规则的布尔值 补充说明 getsebool命令 是用来查询SElinux策略内各项规…

    入门教程 2023年 12月 14日
  • dnf

    文章目录dnf补充说明安装 DNF 包管理器总结 dnf 新一代的RPM软件包管理器 补充说明 DNF 是新一代的rpm软件包管理器。他首先出现在 Fedora 18 这个发行版中…

    入门教程 2023年 12月 7日
  • 36. 写入文件

    欢迎来到 Golang 系列教程的第 36 篇。 在这一章我们将学习如何使用 Go 语言将数据写到文件里面。并且还要学习如何同步的写到文件里面。 这章教程包括如下几个部分: 将字符…

    2023年 12月 5日
  • systemctl

    文章目录systemctl补充说明实例 systemctl 系统服务管理器指令 补充说明 systemctl命令 是系统服务管理器指令,它实际上将 service 和 chkcon…

    入门教程 2024年 3月 11日
  • YAML 入门教程

    YAML 是 YAML Ain\’t a Markup Language(YAML 不是一种标记语言)的递归缩写。在开发的这种语言时,YAML 的意思其实是:Yet A…

    2023年 5月 18日
  • tee

    文章目录tee概要主要用途参数选项返回值例子注意 tee 从标准输入读取数据并重定向到标准输出和文件。 概要 tee [OPTION]… [FILE]… 主要用途 需要同时…

    入门教程 2024年 3月 11日
  • Java 正则表达式

    正则表达式定义了字符串的模式。 正则表达式可以用来搜索、编辑或处理文本。 正则表达式并不仅限于某一种语言,但是在每种语言中有细微的差别。 文章目录正则表达式实例实例捕获组实例Reg…

    入门教程 2023年 3月 4日
  • ncftp

    文章目录ncftp补充说明语法选项参数安装实例 ncftp 是增强的的FTP工具 补充说明 ncftp命令 是增强的的ftp工具,比传统的FTP指令更加强大。FTP让用户得以下载存…

    入门教程 2024年 1月 10日
  • gcc

    文章目录gcc补充说明语法选项参数实例 gcc 基于C/C++的编译器 补充说明 gcc命令 使用GNU推出的基于 C/C++ 的编译器,是开放源代码领域应用最广泛的编译器,具有功…

    入门教程 2023年 12月 14日

发表回复

登录后才能评论
Translate »