15分钟学Go 第3天:编写第一个Go程序

第3天:编写第一个Go程序

1. 引言

在学习Go语言的过程中,第一个程序通常是“Hello, World!”。这个经典的程序不仅教会你如何编写代码,还引导你理解Go语言的基本语法和结构。本节将详细介绍如何编写、运行并理解第一个Go程序,通过实例和图示帮助你掌握这一过程。

2. 创建工作目录

2.1 设置工作空间

在之前的步骤中,我们已设置好Go语言的环境。现在,让我们在GOPATH下创建一个新的工作目录。

  1. 打开命令提示符(cmd)。
  2. 创建新的项目目录
    mkdir %GOPATH%\src\hello
    

2.2 进入目录

接下来,进入新创建的hello目录:

cd %GOPATH%\src\hello

3. 编写第一个Go程序

3.1 创建文件

hello目录下创建一个名为main.go的文件。这个文件将包含我们的第一个Go程序。

3.2 编写代码

main.go文件中,输入以下代码:

package main

import "fmt"

func main() {
    fmt.Println("Hello, World!")
}

3.3 代码解释

让我们逐行分析这段代码:

  • package main:指定该文件属于main包。Go程序的入口点必须在main包中。
  • import "fmt":导入fmt包,提供格式化输出的功能。
  • func main() {...}:定义main函数,程序的入口点。
  • fmt.Println("Hello, World!"):使用Println函数打印文本到标准输出。

4. 运行第一个Go程序

4.1 使用命令行运行

  1. 在命令提示符中,确保你已经在hello目录。
  2. 输入以下命令运行程序:
go run main.go

4.2 预期输出

执行后,你应该看到以下输出:

Hello, World!

4.3 使用VS Code运行

如果你在VS Code中工作,可以直接运行代码。

  1. 打开VS Code,在左侧文件浏览器中找到并打开main.go
  2. 使用快捷键Ctrl + F5或点击“运行”按钮。

5. 代码运行流程图

下面是Hello, World!程序的运行流程图:

+-----------------+
|     程序启动     |
+-----------------+
        |
        v
+-----------------+
|   导入fmt包      |
+-----------------+
        |
        v
+-----------------+
|   程序执行main   |
+-----------------+
        |
        v
+-----------------+
|  输出"Hello,    |
|      World!"     |
+-----------------+
        |
        v
+-----------------+
|     程序结束     |
+-----------------+

6. 进一步理解Go语言基本概念

6.1 Go语言的基本语法

  • 包(package):Go的源文件必须属于某个包,main是特殊的包,表示可执行程序。
  • 导入(import):使用import语句导入需要的标准库或自定义库。
  • 函数(function)func关键字用来定义函数;main函数是程序的入口。

6.2 数据类型与变量

Go是一种静态类型语言,变量的类型在编译时确定。我们将在后续学习中深入探讨这些概念,但可以简单介绍一下如何声明变量:

var name string = "Alice"
var age int = 25

6.3 注释

在Go语言中,有两种注释方式:

  • 单行注释:使用//
  • 多行注释:使用/* ... */
// 这是一个单行注释

/* 这是一个
多行注释 */

7. 练习和挑战

7.1 修改代码

尝试将打印的内容从“Hello, World!”修改为你的名字,例如:

fmt.Println("Hello, [你的名字]!")

7.2 打印其他信息

扩展程序,打印当前的日期和时间。你可以使用time包,例如:

import (
    "fmt"
    "time"
)

func main() {
    fmt.Println("Hello, World!")
    fmt.Println("Current time:", time.Now())
}

7.3 进行测试

运行修改后的程序,检查输出是否正确。

8. 常见问题与解决方案

8.1 问题1:程序运行无输出或报错

如果在运行程序时没有输出或出现报错,确保以下几点:

  • 确保代码无误,语法正确。
  • 检查是否在正确的目录下执行命令。

8.2 问题2:IDE无法识别Go命令

如果VS Code未能识别go命令:

  • 确保已正确定义GOROOTGOPATH环境变量。
  • 拖动VS Code重新启动。

9. 总结

在本节中,我们成功编写并运行了第一个Go程序“Hello, World!”。通过这一实例,你不仅学会了基本的Go语言结构与语法,还通过实例代码及运行流程图理解了程序的工作方式。接下来,你可以继续深入学习Go语言的其他特性和构造,为更复杂的编程任务做好准备。


怎么样今天的内容还满意吗?再次感谢观众老爷的观看,关注下方GZH,回复666,送您价值199的AI大礼包。最后,祝您早日实现财务自由,还请给个赞,谢谢!
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/896893.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

建库建表练习

目录 根据以下需求完成图书管理系统数据库及表设计,并建库建表,并截图创建表的详细信息(desc 表名),不用添加数据 1. 用户表: 字段: 姓名,用户名,密码,电话,住址,专业及年级 2. 图书表: 字段: 图…

你知道吗?这个岗位只招2人,但HR那边却收到了1w份简历

引言 在当前经济环境下,求职者面临的挑战越来越大。互联网行业尤其如此,许多人挤破头都想进入大厂,但竞争异常激烈。如今的就业市场确实变得异常艰难。然而,随着AI大模型技术的兴起,对于那些掌握了相关技能的专业人才…

基于vue框架的的地铁站智慧管理系统的设计n09jb(程序+源码+数据库+调试部署+开发环境)系统界面在最后面。

系统程序文件列表 项目功能:用户,上班打卡,下班打卡,人员管理,交接班,视频巡检,车辆巡检,车辆管理 开题报告内容 基于Vue框架的地铁站智慧管理系统的设计开题报告 一、研究背景与意义 随着城市化进程的加速,地铁站作为城市交通系统的重要组成部分&am…

PC端视频编辑解决方案,跨平台SDK,构建多端统一的创作生态

从短视频的兴起,到中长视频内容的蓬勃发展,视频创作领域正经历着一场深刻的变革。在这场变革中,美摄科技以其卓越的PC端视频编辑解决方案,不仅站在了技术创新的前沿,更以开放的姿态,为企业用户搭建起通往未…

Java项目-基于springboot框架的校园疫情防控系统系统项目实战(附源码+文档)

作者:计算机学长阿伟 开发技术:SpringBoot、SSM、Vue、MySQL、ElementUI等,“文末源码”。 开发运行环境 开发语言:Java数据库:MySQL技术:SpringBoot、Vue、Mybaits Plus、ELementUI工具:IDEA/…

Springboot 使用POI导出Excel文件

Springboot 使用POI导出Excel文件 Excel导出系列目录:引入依赖逻辑处理controllerservice数据查询Excel文件内容处理样式封装 导出效果思考 Excel导出系列目录: 【Springboot 使用EasyExcel导出Excel文件】 【Springboot 使用POI导出Excel文件】 【Spri…

VScode远程开发之remote 远程开发(二)

VScode远程开发之remote 远程开发(二) 使用vscode进行远程开发很简单,在拓展里搜索 Remote Development,就可以搜索到微软提供的远程开发大礼包,里面包含了 通过 SSH 远程服务器 远程容器 远程 WSL(Win…

演示:基于WPF的DrawingVisual开发的高刷新率示波器

一、目的:分享一个基于WPF的DrawingVisual开发的高刷新率示波器 二、效果演示 特此说明:由于Gif录制工具帧率不够,渲染60帧用了4.6秒,平均帧率在12Hz左右,所以展示效果不好,想要看好些的效果可以看文章下面…

安科瑞智慧能源管理系统EMS3.0在浙江某能源集团有限公司的应用

安科瑞戴婷 Acrel-Fanny 一、项目背景 浙江某能源集团有限公司位于浙江省宁波前湾新区,主营业务范围包括了储能技术服务,光伏风力发电技术服务,充电桩技术服务,新能源项目的施工以及为企业提供配电房运维服务。 随着新能源的兴…

[ComfyUI]Flux:爆火禅语小和尚素材!禅意人生,享受自在

在快节奏的现代生活中,人们越来越渴望一种宁静和放松的状态。而禅意小和尚素材正是这样一种能够带给我们内心宁静和智慧的存在。ComfyUI的Flux框架结合了禅意小和尚素材,为我们提供了一个探索禅意人生的独特方式。 禅意小和尚素材源于佛教文化&#xff…

DORA 机器人中间件学习教程(5)——3D激光雷达数据可视化

DORA中3D激光雷达数据可视化 1 总体思路2 DORA数据接收节点3 编写yml文件4 启动节点参考资料 截止目前 DORA还没有类似于ROS2中RVIZ这样的可视化工具,而在调试算法时我们又需要将数据进行可视化以验证代码的正确性。目前的解决方法是将DORA中的数据发送到ROS2中&…

ubuntu查看系统版本命令

查看系统版本指令 在 Ubuntu 操作系统中,您可以使用多个命令来查看系统版本。以下是一些常用的命令: lsb_release -a 这个命令会显示详细的 Ubuntu 版本信息,包括发行版名称、版本号、代号等。lsb_release -acat /etc/os-release 这个命令会显…

实用好助手

在现代职场中,拥有高效且适用的工具能够显著提升我们的工作效率与质量。除了常见的办公软件,还有许多小众但非常实用的工具可以大幅度优化工作流程。以下是另外五个推荐的工作软件,它们各自具备独特的功能与优势,值得一试。 1 …

MongoDB未授权访问

mongodb未授权访问漏洞 复现 MongoDB[//]: # (忙够DB)是一种流行的开源文档数据库管理系统(DBMS),基于分布式文件存储的数据库属于NoSQL数据库的一种。 开启MongoDB服务时不添加任何参数时,默认是没有权限验证的 登录的用户可以通过默认端口…

双十一适合买什么东西?2024年双十一收藏榜单必买好物分享!

随着双十一的脚步日益临近,各大电商平台已经开始了激烈的促销竞争。作为每年最盛大的购物节,双十一不仅吸引了无数消费者的积极参与,也成为品牌和产品质量的一次大检阅。那么,在2024年的双十一,哪些商品是值得购买的呢…

智能手表核心芯片~手表心率监测芯片AFE4900浅析(附一篇智能手表专利推荐)

智能手表核心芯片~手表心率监测芯片AFE4900浅析(附一篇智能手表专利推荐) 本期是平台君和您分享的第89期内容 2024年8月,安徽华米信息技术及美国的智能手表品牌ZEPP公司在美国对深圳思佰特公司提起诉讼,涉及专利、商标和不正当竞争。 起诉书(来源:RPX网站) 看到这则新闻…

linux 离线安装redis

1.官网下载 https://redis.io/download 或者去github下载 2.安装 Redis 解压 unzip redis-6.2.16.zip安装gcc #由于 redis 是用 C 语言开发,安装之前必先确认是否安装 gcc 环境(gcc -v) gcc -v若无安装gcc,参考我的文章 Lin…

三维可视化生产线,是工业4.0最直接的落地应用

工业 4.0 强调智能化、数字化和网络化的生产模式,而三维可视化生产线完美地契合了这些要求。通过三维可视化技术,生产线的各个环节可以以逼真的三维模型形式呈现在人们眼前。 从设计阶段开始,工程师们可以利用三维可视化工具进行生产线的规划…

模拟芯片 ADI 亚德诺半导体常用芯片分享(一)

在电子领域,ADI(亚德诺半导体)以其卓越的技术和可靠的品质,成为众多工程师和企业的首选。亿配芯城 (ICgoodFind )为您带来一系列 ADI 的常用模拟芯片。 ADI 的模拟芯片广泛应用于各个领域,无论…

在海外留学/工作,如何报考微软mos认证?

重点首先得强调的是,即使在海外也可以顺利地在国内获取微软MOS认证! 01 微软mos认证简介 Microsoft Office Specialist 简称MOS。是微软公司和第三方国际认证机构、全球三大IT测验与教学中心之一的思递波/Certiport公司于1997年联合推出的,…