0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

开始编写第一个Go程序

马哥Linux运维 来源:GCTT 作者:Nick Coghlan 2022-08-22 09:30 989次阅读

这是 Golang 系列教程的第 2 个教程。如果想要了解什么是 Golang,以及如何安装 Golang,请阅读上一篇文章。

学习一种编程语言的最好方法就是去动手实践,编写代码。让我们开始编写第一个 Go 程序吧。

我个人推荐使用安装了Go 扩展Visual Studio Code作为 IDE。它具有自动补全、编码规范(Code Styling)以及许多其他的特性。(你也可以使用 GoLand 这个专门的 Go IDE)

1 第一个 Go 程序

现在已经 Go1.15.x 了,自然使用 Go 模块,而不是之前的 GOPATH。因此原文的 Go 工作区部分在此废除,采用模块的方式实现,当然第一个程序可以不需要模块。所以这部分不是原文翻译,而是我另外撰写(polarisxu)。 在你的系统任意目录下创建一个目录 hello。 接着创建 helloworld.go 文件,在里面保存下面的程序。


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

2 运行 Go 程序

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

使用 go run 命令 - 在命令提示符旁,输入 go run helloworld.go。

在控制台上会看见 Hello World 的输出。

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

第 3 种运行程序的好方法是使用 go playground。尽管它有自身的限制,但该方法对于运行简单的程序非常方便。我已经在 playground 上创建了一个 hello world 程序。点击这里在线运行程序。你可以使用 go playground[4]与其他人分享你的源代码。

3 简述 hello world 程序

下面就是我们刚写下的 hello world 程序。

package main //1
import "fmt" //2
func main() { //3 fmt.Println("Hello World") //4}
现在简单介绍每一行大概都做了些什么,在以后的教程中还会深入探讨每个部分。

package main - 每一个 Go 文件都应该在开头进行package name的声明(译注:只有可执行程序的包名应当为 main)。包(Packages)用于代码的封装与重用,这里的包名称是main。

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

func main()- main 是一个特殊的函数。整个程序就是从 main 函数开始运行的。

main 函数必须放置在 main 包中。{和}分别表示 main 函数的开始和结束部分。

fmt.Println("Hello World")- fmt 包中的 Println 函数用于把文本写入标准输出。 该代码可以在 GitHub上下载。 现在你可以进入 Golang 系列教程第 3 部分:变量中学习 Golang 中的变量。


审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 编码
    +关注

    关注

    6

    文章

    962

    浏览量

    55230
  • 编程语言
    +关注

    关注

    10

    文章

    1952

    浏览量

    35528

原文标题:Go 经典入门系列2:Hello World

文章出处:【微信号:magedu-Linux,微信公众号:马哥Linux运维】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    相关推荐

    迅为RK3568开发板helloworld 驱动实验-驱动编写

    在学习 C 语言或者其他语言的时候,我们通常是打印句“helloworld”来开启编程世界的大门。学习驱动程序编程亦可以如此,使用 helloworld 作为我们的第一个驱动程序。接
    发表于 04-01 15:20

    ADS1299在DAISY-CHAIN模式下只能配置第一个AD吗,那后面几个都是要怎么配置寄存器,都和第一个样吗?

    大家: 1ADS1299在DAISY-CHAIN 模式下只能配置第一个AD么,那后面几个都是要怎么配置寄存器,都和第一个样么? 2 手册上写了有关时钟配置的问题,ADS1299在
    发表于 12-20 06:47

    ADS127L01读取ADC数据时DOUT在DRDY拉低之前或第一个SCLK到来之前就已经开始切换,为什么?

    如下图,采用SPI模式配置完之后读取ADC数据时,CS信号持续拉低;在下一个数据帧的第一个SCLK来临之前DOUT就已经开始切换(此时DRDY还未拉低),请问什么原因可能导致这样的结果?
    发表于 11-15 08:29

    LMK1C1104第一个cycle在CLKOUT中丢失,为什么?

    LMK1C1104: CLKIN的第一个cycle在CLKOUT中丢失,详情请参照关联问题
    发表于 11-11 07:12

    【xG24 Matter开发套件试用体验】第一个LED测试工程

    /SiliconLabs/gecko_sdk/releases/tag/v4.4.4 开始第一个点灯工程 查看电路图,LED0引脚PA04: 2.创建LED测试工程: 首先使用Type-C连接xG24设备
    发表于 09-02 23:48

    与屏幕起发送的第一个UART数据时出现初始崩溃,但仅在第一次闪存时出现,为什么?

    =0x00000000, depc=0x0 000000 ets 2013-01-8,第一个原因:2,开机模式:(1,7) ets 2013-01-8,第一个原因:4,开机模式:(1,7)
    发表于 07-09 07:39

    armv8在启动刚开始时调用了关中断,直到切换第一个线程,在哪里开启的中断呢?

    例如当前使用的armv8芯片,在启动刚开始时调用了关中断,直到切换第一个线程,在哪里开启的中断呢? int rtthread_startup(void
    发表于 07-04 07:00

    第一个程序,为什么连接不上ESP32?

    放上一个晚上过后,开始接上的时候还能看见有0.01安的用量,在这期间能对重置有反应,2分种过后电流用量又归0,对重置又没有反应了。 我以前做过ESP8266 1S,ESP8266 12,遇到过电源不足的问题,但没有遇到这种问题,是不是进入
    发表于 06-25 07:09

    读取寄存器的值,第一个bit读取不到是为什么?

    遇到以下的问题,读取寄存器中的值,查看寄存器是“0x80000e23”,但是读取之后第一个位没有读取到,只读取到“0xe23”,用来接收寄存器的值的变量类型是(volatile uint32)
    发表于 05-28 06:04

    鸿蒙ArkUI-X跨平台开发:【 编写第一个ArkUI-X应用】

    通过构建简单的ArkUI页面跳转示例,快速了解资源创建引用,路由代码编写和UI布局编写等应用开发流程。
    的头像 发表于 05-21 17:36 965次阅读
    鸿蒙ArkUI-X跨平台开发:【 <b class='flag-5'>编写</b><b class='flag-5'>第一个</b>ArkUI-X应用】

    鸿蒙OpenHarmony【小型系统 编写“Hello World”程序】 (基于Hi3516开发板)

    展示如何在单板上运行第一个应用程序,其中包括新建应用程序、编译、烧写、运行等步骤,最终输出“Hello World!”。
    的头像 发表于 05-10 16:26 847次阅读
    鸿蒙OpenHarmony【小型系统 <b class='flag-5'>编写</b>“Hello World”<b class='flag-5'>程序</b>】 (基于Hi3516开发板)

    鸿蒙OpenHarmony【标准系统 编写“Hello World”程序】(基于RK3568开发板)

    下方将展示如何在单板上运行第一个应用程序,其中包括新建应用程序、编译、烧写、运行等步骤,最终输出“Hello World!”。
    的头像 发表于 05-09 17:58 1089次阅读
    鸿蒙OpenHarmony【标准系统 <b class='flag-5'>编写</b>“Hello World”<b class='flag-5'>程序</b>】(基于RK3568开发板)

    鸿蒙OpenHarmony【标准系统编写“Hello World”程序】 (基于RK3568开发板)

    编写“Hello World”程序 下方将展示如何在单板上运行第一个应用程序,其中包括新建应用程序、编译、烧写、运行等步骤,最终输出“Hel
    的头像 发表于 04-24 17:32 1167次阅读
    鸿蒙OpenHarmony【标准系统<b class='flag-5'>编写</b>“Hello World”<b class='flag-5'>程序</b>】 (基于RK3568开发板)

    鸿蒙OpenHarmony【小型系统编写“Hello World”程序】 (基于Hi3516开发板)

    下方将展示如何在单板上运行第一个应用程序,其中包括新建应用程序、编译、烧写、运行等步骤,最终输出“Hello World!”。
    的头像 发表于 04-22 21:55 515次阅读
    鸿蒙OpenHarmony【小型系统<b class='flag-5'>编写</b>“Hello World”<b class='flag-5'>程序</b>】 (基于Hi3516开发板)

    使用Docker部署Go Web应用程序步骤

    大多数情况下Go应用程序被编译成单个二进制文件,web应用程序则会包括模版和配置文件。而当项目中有很多文件的时候,由于很多文件没有同步就
    发表于 04-20 09:33 646次阅读
    使用Docker部署<b class='flag-5'>Go</b> Web应用<b class='flag-5'>程序</b>步骤