当前位置: 首页 > article >正文

2、第一个GO 程序

引言

接下里我们就用Go Land 工具,开发第一个GO程序。大家也可以用其他的开发工具,例如 Vs Code

1、新建项目

image.png

第一个是选择你的程序保存位置 (不要有中文)。
第二个是你的Go的编译器的安装地址。
选择完毕后,就点击 Create,完成项目创建。

image.png

创建完成后,我们就拥有了一个初始的项目。

image.png

2、创建第一个 Go 程序

2.1 新建 Go程序

鼠标选中项目,然后右键, 鼠标滑到 New ,点击 Go File。

image.png

然后输入你的文件名称,不要是中文。输完后,就按回车键。

image.png

就能在目录中看到刚刚新建的文件了。

image.png

2.2 输入代码

package 声明

image.png

每个Go源代码文件的开头都是一个package声明,表示该Go代码所属的包。

包的概念

GO语言中是通过包来对代码进行管理的。那么什么是包呢?
想象你正在建设一个大楼,而这个大楼有多个楼层,每个楼层负责不同的功能。例如:

  • 一楼是“前台接待”。
  • 二楼是“财务部”。
  • 三楼是“技术支持”。

这些楼层各自独立,但都在同一个大楼里。现在,假设你正在开发一个管理系统,这个系统需要使用到这些楼层的信息,比如“前台接待”的信息、或者“财务部”的数据。为了避免混淆,我们在系统中需要清楚地标明我们要使用的是哪个楼层的信息。于是,我们给每个楼层起了一个名字:

  • “前台接待”是一个包,叫做package frontdesk
  • “财务部”是另一个包,叫做package finance
  • “技术支持”是另一个包,叫做package support

这样,当你需要用到前台接待的功能时,你可以写import frontdesk来引入“前台接待”楼层的信息。同样,如果你需要财务部的数据,就写import finance,如此一来,代码中就能清晰地知道每个功能是来自哪个楼层(包)。

包就是用来标识这些“楼层”的,帮助我们管理和使用不同的功能。每个包就是一个独立的模块,里面有具体的功能代码。通过这种方式,整个系统就能高效而有条理地运行。

而如果要让系统能够正常启动,必须有一个“主楼层”——main包,这个包是程序的入口,负责启动整个系统。如果没有这个包,程序就不能运行。

导入 fmt 包

第三行

image.png

import 表示导入,fmt 是包名。

不管是使用我们自己定义的包还是GO自带都是通过import导入的,“fmt”是GO自带的包,包含了怎样将信息打印在电脑屏幕上。注意包名要用“”表示。

main 函数声明

image.png

在 Go 语言中,程序的执行从 main 函数开始,相当于教室的门口。需要注意的是,这一行代码有固定的写法,其中 funcmain 之间必须有空格,同时 main 后面必须紧跟一对小括号。接着,紧随其后的一对大括号 {} 用于包裹具体的任务代码,即程序的实际执行部分。

在这里,func 表示声明函数,main 是函数名。函数就像数学中的函数,都是为了实现特定的功能,例如三角函数等。在 Go 语言中,main 函数的作用是作为程序的入口点。需要特别注意的是,Go 中的函数必须以 func 关键词开头,且函数名后必须跟一对小括号。

使用 fmt.Print 打印内容

image.png

这行代码使用了 fmt 包中的 Print 函数,将 "hello go" 打印到屏幕上。需要注意的是,fmt 包和 Print 函数之间用点号(.)连接,这个点号必须在半角输入法状态下输入。此外,Print 函数的首字母 P 必须大写,不能写成小写,因为 Go 语言是区分大小写的,许多同学在这里容易出错。

将要输出的内容放在 Print 函数的括号内(注意括号应在半角状态下输入),并且要用双引号将内容包裹起来(同样,双引号应为半角状态)。

3、代码运行

我们第一个GO程序已经写完了,那么我们写的程序到底能否运行呢?是否有错误呢?下面我们执行我们的程序。
image.png
image.png
选择第一个或者第二个都行。点击运行,我们的控制台就会有一条打印信息。

image.png


http://www.kler.cn/a/502846.html

相关文章:

  • 开源项目stable-diffusion-webui部署及生成照片
  • 瑞芯微 RK 系列 RK3588 使用 ffmpeg-rockchip 实现 MPP 视频硬件编解码-代码版
  • Spring Boot 支持哪些日志框架
  • 2025-微服务—SpringCloud-1~3
  • LKT4304新一代算法移植加密芯片,守护物联网设备和云服务安全
  • idea快捷键
  • Win32汇编学习笔记09.SEH和反调试
  • 数据结构(Java版)第七期:LinkedList与链表(二)
  • 3 生成器(Builder)模式
  • Java算法 数据结构 栈 队列 优先队列 比较器
  • C#中前台线程与后台线程的区别及设置方法
  • 《自动驾驶与机器人中的SLAM技术》ch8:基于 IESKF 的紧耦合 LIO 系统
  • 灌区闸门自动化控制系统-精准渠道量测水-灌区现代化建设
  • 相加交互效应函数发布—适用于逻辑回归、cox回归、glmm模型、gee模型
  • RabbitMQ 在 Spring Boot 项目中的深度应用与实战解析
  • Java异步任务
  • 2024 年 3 月青少年软编等考 C 语言二级真题解析
  • IP层之分片包的整合处理
  • 【优选算法篇】:模拟算法的力量--解决复杂问题的新视角
  • Frp工具配置内网穿透
  • 基于SpringBoot的中华诗词赏析文化交流平台
  • 组织切片配准(切割角度校正)
  • 【IDEA】配置篇
  • JVM:ZGC详解(染色指针,内存管理,算法流程,分代ZGC)
  • strace、ltrace、ftrace 和 dtrace
  • 科技赋能:多功能气膜综合馆引领场馆新革命—轻空间