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

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

3天内不再提示

开始编写第一个Go程序

马哥Linux运维 ? 来源:GCTT ? 作者:Nick Coghlan ? 2022-08-22 09:30 ? 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

这是 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

    文章

    972

    浏览量

    55889
  • 编程语言
    +关注

    关注

    10

    文章

    1957

    浏览量

    36835

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

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

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    HRTIM变频控制输出的第一个周期频率异常的原因?

    在使用STM32G474CBT6的HRTIM_Mater、HRTIM_TIMER_B和HRTIM_TIMER_D输出同步互补的四路输出时,关闭4路输出和三定时器的计数后,再次开启时第一个周期的频率
    发表于 04-25 06:17

    文教你构建第一个应用程序

    构建第一个应用程序 创建新工程 步骤 1通过如下两种方式,打开工程创建向导界面。 如果当前未打开任何工程,可以在 DevEco Studio 的欢迎页,选择“Projects
    发表于 04-24 06:41

    HRTIM变频控制输出的第一个周期频率异常的原因?

    在使用STM32G474CBT6的HRTIM_Mater、HRTIM_TIMER_B和HRTIM_TIMER_D输出同步互补的四路输出时,关闭4路输出和三定时器的计数后,再次开启时第一个周期的频率
    发表于 04-22 12:08

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

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

    零基础入门:如何在树莓派上编写和运行Python程序

    在这篇文章中,我将为你简要介绍Python程序是什么、Python程序可以用来做什么,以及如何在RaspberryPi上编写和运行简单的
    的头像 发表于 03-25 09:27 ?886次阅读
    零基础入门:如何在树莓派上<b class='flag-5'>编写</b>和运行Python<b class='flag-5'>程序</b>?

    原生鸿蒙第一个出圈的,为什么是安全?

    属于更加安全、可信、便捷的数字未来,也属于今天的你我
    的头像 发表于 01-11 15:53 ?4357次阅读
    原生鸿蒙<b class='flag-5'>第一个</b>出圈的,为什么是安全?

    ADS1274用DRDY+TDM输出模式下,读到的第一个字节是无效的,为什么?

    今天调试中发现问题,1274在用DRDY+TDM输出模式下,读到的第一个字节是无效的! 配置是4通道,在DRDY下降沿产生后,等待5us(采样率25K,即间隔40us)给出SPI的SCLK
    发表于 01-08 08:17

    蓝桥杯的第一个项目,点亮LED

    第一节IO简介GPIO是通用输入/输出端口的简称,是STM32可控制的引脚。GPIO的引脚与外部硬件设备连接,可实现与外部通讯、控制外部硬件或者采集外部硬件数据的功能。每个GPIO内部都有这样的
    的头像 发表于 01-02 21:02 ?758次阅读
    蓝桥杯的<b class='flag-5'>第一个</b>项目,点亮<b class='flag-5'>一</b><b class='flag-5'>个</b>LED

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

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

    DAC8734只能把第一个接收到的数字数据输出,有哪些原因导致的呢?

    一个发送的数据时序没问题。但DAC8734只能把第一个接收到的数字数据输出,我用的是TI公司自己的DAC8734EVM。可能有哪些原因导致的呢?是上电顺序的原因吗?
    发表于 12-19 09:17

    韩国无晶圆厂初创公司Panmnesia展示第一个支持CXL的AI集群

    在2024?OCP全球峰会上,开发CXL交换机SoC和CXL IP的韩国无晶圆厂初创公司Panmnesia展示了第一个支持CXL的AI集群,该集群采用CXL 3.1交换机。 OCP全球峰会由世界上
    的头像 发表于 11-28 11:04 ?909次阅读

    ADS131A04在复位后以READY字进行响应,在第一个帧中接收到的响应不正确,为什么?

    帧,则在第一个帧中接收到的响应不正确,而后续响应是正确的。为什么复位后第一个帧中的 READY 响应不正确?
    发表于 11-25 08:11

    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