'Go 언어 튜토리얼 시리즈' Hello World

풀어 주다: 2023-07-24 17:22:27
앞으로
548명이 탐색했습니다.

이 글은 "Golang 튜토리얼 시리즈"의 두 번째 글입니다. 그렇지 않은 경우 이전 튜토리얼인 Golang 소개 및 환경 설치를 살펴보고 Golang이 무엇인지, Golang을 다운로드하는 방법을 이해하는 것이 좋습니다.

이 튜토리얼은 Go 1.16 이상을 기반으로 합니다.

손을 코드의 피로 덮는 것보다 프로그래밍 언어를 배우는 더 효과적인 방법은 없나요? 첫 번째 Go 프로그램을 함께 시작합시다. (퍼스트 블러드)

개발 환경 설정

먼저 hello world 프로그램을 작성할 폴더를 만들어 보겠습니다. 명령줄을 열고 다음 명령을 실행하세요:

mkdir ~/Desktop/learngo/
로그인 후 복사

위 명령은 사용자의 컴퓨터에learngo폴더(번역기 개발환경은 Macbook Pro 입니다. 어디에서나 디렉터리를 만들고 코드를 작성할 수 있습니다.learngo的文件夹(译者开发环境为 Macbook Pro)。你可以在任意位置创建目录编写代码。

Hello World

使用你喜爱的文本编辑器在learngo文件夹中创建一个名为main.go

Hello World learngo main.go파일을 열고 다음 내용을 작성하세요.
package main import "fmt" func main() { fmt.Println("Hello World") }
로그인 후 복사
로그인 후 복사

在 Go 中将包含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 'go help modules'
로그인 후 복사

上面的错误实际上意味着,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目录包含多个 Go 文件而不只是只有main.go时会发生什么。 여기这种情况下,설치로 이동에서 Go 模块时讨论这些内容。learngo目录包含多个 Go 文件而不只是只有main.go时会发生什么。在这种情况下,go install将如何工作?请继续往下看,我们将在了解软件包和 Go 模块时讨论这些内容。

2. go build

运行程序的第二个选项是使用go buildgo buildgo install非常相似,不同之处在于它不会将编译的二进制文件安装(拷贝)到路径~/go/bin/,而是在go build

2. go build

运行程序的第two个选项是使用 이동 빌드빌드 이동설치하기비常상似, 서로 다른 방식으로 사용하지 않는 경우: 2px 4px;border-radius: 4px;margin-right: 2px;margin-left: 2px;font-family: "Operator Mono", Consolas, Monaco, Menlo, monospace;단어 나누기: 모두 나누기;색상: rgb(145, 109, 213);글꼴 두께: 굵게;배경 이미지: 없음;배경 위치: 초기; 배경 크기: 초기;배경 반복: 초기;배경 첨부: 초기;배경-원산지: 초기;배경-클립: 초기;">~/go/bin/,而是에서 <코드 스타일="패딩: 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);글꼴-가중치: 굵게;배경-이미지: 없음;배경-위치: 초기;배경-크기: 초기;배경-반복: 초기;배경-부착: 초기;배경-원산지: 초기;배경-클립: 초기;"> 빌드 시작

在命令行输入以下命令来切换当前目录到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 中。

「"fmt" 가져오기」-가져오기语句用于导入其他软件包。지금我们的例子中,fmt包被导入,它将에서메인函数中用于将文本打印到标准输出。import语句用于导入其他软件包。在我们的例子中,fmt包被导入,它将在main函数中用于将文本打印到标准输出。

「func main()」-func关键字标记函数的开始。main是一个特殊函数。程序从main函数开始执行。大括号{}表示main

「func main()」 - func关键字标记函数的开始。 main是一个特殊函数。程序从 메인函数开始执行。大括号 {}설명 메인结束。

『fmt.Println("Hello World")』-fmt软件包的PrintIn函数用于将文本写入标准输出。package.function()은 패키지에서 함수를 호출하는 구문입니다.

위 내용은 'Go 언어 튜토리얼 시리즈' Hello World의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:Go语言进阶学习
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!