「Go言語チュートリアルシリーズ」Hello World

リリース: 2023-07-24 17:22:27
転載
633 人が閲覧しました
#これは、「Golang チュートリアル シリーズ」の 2 番目の記事です。そうでない場合は、以前のチュートリアル Golang の概要と環境のインストールを参照して、Golang とは何か、および Golang をダウンロードする方法を理解するとよいでしょう。

このチュートリアルは Go 1.16 以降に基づいています。

プログラミング言語を学習するには、手をコードの血まみれにすること以上に効果的な方法はありません。最初の Go プログラムを一緒に始めましょう。 (First Blood)

開発環境のセットアップ

まず、hello world プログラムを記述するフォルダーを作成しましょう。コマンド ラインを開いて次のコマンドを実行してください:

mkdir ~/Desktop/learngo/
ログイン後にコピー

上記のコマンドは、ユーザーのデスクトップに

learngo という名前のフォルダーを作成します (翻訳者の開発環境は Macbook Pro)。ディレクトリを作成して、どこにでもコードを書くことができます。

Hello World

お気に入りのテキスト エディタを使用して、

learngo フォルダ #main に ## というファイルを作成します。 .go ファイルに次の内容を書き込みます: <div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false;">package main import &quot;fmt&quot; func main() { fmt.Println(&quot;Hello World&quot;) }</pre><div class="contentsignin">ログイン後にコピー</div></div><div class="contentsignin">ログイン後にコピー</div></div><p data-tool="mdnice编辑器" style="padding-top: 8px;padding-bottom: 8px;line-height: 26px;margin-top: 10px;margin-bottom: 10px;font-size: 14px;word-spacing: 2px;">在 Go 中将包含 <code style="padding: 2px 4px;border-radius: 4px;margin-right: 2px;margin-left: 2px;font-family: "Operator Mono", Consolas, Monaco, Menlo, monospace;word-break: break-all;color: rgb(145, 109, 213);font-weight: bolder;background-image: none;background-position: initial;background-size: initial;background-repeat: initial;background-attachment: initial;background-origin: initial;background-clip: initial;">main 函数的文件命名为 main.go 是约定俗称的,但是其他名称也是可以使用。

运行一个程序

有几种不同的方式来运行 Go 程序。让我们一一看一下。

1. go install

第一个运行 Go 程序的方法是使用 go install 命令。让我们来使用 cd 命令进入刚创建的 learngo 目录

cd ~/Desktop/learngo/
ログイン後にコピー
ログイン後にコピー

接着运行下面的命令。

go install
ログイン後にコピー

上面的命令将编译当前程序并将其安装(拷贝)二进制可执行文件到 ~/go/bin 目录。二进制可执行文件的名字是包含 main.go 文件的文件夹名。在我们示例中,它将被命名为 learngo

当你尝试安装程序时,你可能会遇到以下错误。

go: cannot find main module; see &#39;go help modules&#39;
ログイン後にコピー

上面的错误实际上意味着,go install 无法找到 main 模块,这是因为我们没有初始化 go modules,我们使用以下命令初始化模块:

go mod init github.com/youngjuning/learngo
ログイン後にコピー

上面的命令会在 learngo 目录下创建一个 go.mod 文件,该文件是程序模块定义的地方,作用类似于 Node 的 package.json 文件。然后我再执行 go install 便可以成功。

你可以在命令行输入 ls -al ~/go/bin/learngo,然后你会发现 go install 实际上是把二进制可执行文件放在了 ~/go/bin 中。

现在让我们运行编译后的二进制可执行文件。

~/go/bin/learngo
ログイン後にコピー

上面的命令将运行 learngo 并打印出以下内容:

Hello World
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー

恭喜你!你已经成功地运行了你的第一个 Go 程序。

如果你不想每次都输入完整的 ~/go/bin/learngo 路径来运行程序,你可以添加 ~/go/bin/ 到你的 PATH 中。

export GOPATH=~/.go
export PATH=${PATH}:$GOPATH/bin
ログイン後にコピー

现在你可以在命令行中只输入 learngo 来运行程序。

learngo ディレクトリに main.go だけではなく複数の Go ファイルが含まれている場合に何が起こるか疑問に思われるかもしれません。この場合、go install はどのように機能しますか?パッケージと Go モジュールについて説明しながら読み進めてください。

2. go build

#プログラムを実行する 2 番目のオプションは、go build を使用することです。 ###。 go buildgo install とよく似ていますが、コンパイルされたバイナリをパス ~/go/bin/ にインストール (コピー) しない点が異なります。 go build: と同じフォルダーにバイナリ ファイルを作成します。

在命令行输入以下命令来切换当前目录到 learngo

cd ~/Desktop/learngo/
ログイン後にコピー
ログイン後にコピー

然后输入下面的命令:

go build
ログイン後にコピー

上面的命令将会在当前目录下创建一个名为 learngo 的二进制可执行文件。ls -al 命令可以证实名为 learngo 的文件被创建了。

输入 ./learngo 来运行程序,将会输入和前面一样的内容:

Hello World
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー

到此,我们用 go build 也成功地运行了我们的第一个 Go 程序 ?

3. go run

第三个运行程序的方法是使用 go run 命令。

在命令行输入 cd ~/Desktop/learngo 命令来改变当前目录为 learngo

然后输入以下命令。

go run main.go
ログイン後にコピー

输入以上命令后,我们也可以看到一样的输出:

Hello World
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー

go run 命令和 go buildgo install 命令之间的一个细微差别是,go run 要求使用 .go 文件的名称作为参数。

在引擎盖下,go run 的工作原理与 go build 非常相似。无需将程序编译并安装到当前目录,而是将文件编译到一个临时位置并从该位置运行文件。如果你想知道 go run 将文件编译到的位置,请使用 --work 参数运行 go run

go run --work main.go
ログイン後にコピー

在我的场景中,运行以上命令会输出下面的内容:

WORK=/var/folders/mf/_fk8g5jn23gcw970pypqlv4m0000gn/T/go-build3519209434
Hello World
ログイン後にコピー

WORK 的值表示程序将被编译到的一个临时位置。

就我的场景而言,程序被编译到 /var/folders/mf/_fk8g5jn23gcw970pypqlv4m0000gn/T/go-build3519209434 。这可能因你的情况而异 ?

4. Go Playground

运行程序的最后一种方法是使用 go playground。尽管此方法有一些限制,但由于我们可以使用浏览器并且不需要在本地本地安装 Go:我已经为 Hello World 程序创建了一个 playground。点击此处 以在线运行该程序。

你还可以使用 Go Playground 与他人分享你的源代码。

既然我们知道 4 种不同的方式来运行程序,那么你可能会很困惑该使用哪种方法。答案是,当我想快速检查逻辑或找出标准库函数如何工作时,通常使用 playground。在大多数其他情况下,我更喜欢 go install,因为它为我提供了从终端中任何目录运行程序的选项,因为它将所有程序编译到标准的 ~/go/bin/ 路径。

对 Hello World 程序的简短解析

这是我们刚刚创建的简单的 hello world 程序:

package main

import "fmt"

func main() {
  fmt.Println("Hello World")
}
ログイン後にコピー
ログイン後にコピー

我们将简要讨论该程序的每一行的作用。在接下来的教程中,我们将深入研究程序的每个部分。

「package main」 - 每个 go 文件都必须以 package name 开始。Packages 用于提供代码分隔和可重用性。此处使用包名称 main。主要功能应始终保留在 main package 中。

『import "fmt"』 - import ステートメントは、他のソフトウェア パッケージをインポートするために使用されます。この例では、fmt パッケージがインポートされ、テキストを標準出力に出力するために main 関数で使用されます。

『func main()』 - func キーワードは関数の始まりを示します。 main は特別な関数です。プログラムは main 関数から実行を開始します。中かっこ {} は、main 関数の始まりと終わりを示します。

『fmt.Println("Hello World")』 - fmt パッケージの PrintIn 関数は、標準出力にテキストを書き込むために使用されます。 package.function() は、パッケージ内の関数を呼び出すための構文です。

以上が「Go言語チュートリアルシリーズ」Hello Worldの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:Go语言进阶学习
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート