当前位置:网站首页>【GO基础02】第一个程序
【GO基础02】第一个程序
2022-07-25 21:52:00 【Fighting_hawk】
1 总体思路
- 构思自己所有程序的存放结构,设计好目录。
- 根据程序目的,编辑代码。
- 调试。
- 编译。
- 运行。
2 新建项目及项目文件结构
- 在合适的硬盘新建一个文件夹,用于存放新项目的文件,本文在D盘下新建文件夹“GOProject”,建议文件夹取英文名,不知道中文路径是否会出现问题。
- 双击goland,点击new project新建项目。

- 选择项目合适的存储路径,就是刚刚步骤一新建的文件夹,同时注意GOROOT是否为SDK的安装路径。

- 创建第一个程序所在文件夹。右键GOProject,点击NEW,可以新建文件或者文件夹,GO File表示新建一个go文件,directory表示新建一个文件夹。

- 同样方法,在“01helloWorld”文件夹下创建两个子文件夹,分别为main和package,前者用于存放主要执行代码,后者用于存储各个模块。在main文件夹中,创建go程序,命名为helloWorld,文件结构如下所示。

2 程序代码
- 程序要求:输出hello world!
- 代码及解释如下:
//每个程序都属于一个包
package main
//引入模块
import "fmt"
//主函数,作为程序入口
func main() {
fmt.Println("hello world!")
}
3 编译与运行
3.1 执行流程
- 编写好的go程序可以有两种执行流程,一种是先编译成可执行文件后运行,一种是直接运行(常用于调试)。
- 区别:
(1)如果先编译生成可执行文件,那么可以将可执行文件拷贝到没有go开发环境的机器上运行;
(2)如果是直接 go run 源代码,那么如果要在赢一个机器上这样运行,就也需要go开发环境,否则无法运行;
(3)在编译时,编译器会将程序运行依赖的库文件包含在可执行文件中,所以,可执行文件变大了许多。
3.2 编译
- 基本方法:打开go源文件所在文件夹,地址栏输入cmd打开终端,输入
go build+go源文件名,可以将程序编译成同名可执行文件。
- 自定义生成文件名:输入
go build -o myname.exe go源文件名,可以将程序编译成同名可执行文件。 - 利用goland执行编译:右键代码区域选择运行,或使用快捷键ctrl+shift+F10,进行编译,效果同基本方法。

3.3 调试
- 利用goland进行代码逐行调试,先再程序上增加一行命令输出hello,然后在左侧同行处打击鼠标左键打上断点标记。

- 右键代码区域,点击debug,即可将程序执行到断点处暂停,后续根据需要可以按F7、F8等快捷键使用不同的逐行调试方法。

3.4 运行
- 基本方法:直接双击运行(由于没有设置暂停命令,程序运行结束后直接关闭了)。
- cmd窗口运行可执行文件:在可执行程序所在路径下,输入可执行程序名称,直接运行。

- cmd窗口运行源文件:在源文件所在路径下,输入命令
go run 源文件名直接运行源程序。
4 总结
- 编写第一个go程序。
- 了解goland在新建项目、组织项目文件结构、编辑、调试、编译等方面的使用方法。
参考文献
- 《Go程序开发和基本结构说明》视频教程
- 《Go执行流程分析》视频教程
- 《Go编译和运行》视频教程
边栏推荐
- es6--解构赋值
- Guys, how can Flink SQL submit tasks in per job mode?
- ansible+Crontab批部署巡检
- PE格式: 分析IatHook并实现
- Is there any document for synchronizing from Oracle to ODPs?
- Dovecot set mailbox quota
- Idea resolves the prompt of profile properties disappear
- Bitcoin.com:USDD代表了真正去中心化稳定币
- Redis为何选择单线程?
- Naming rules for BSP of Quanzhi chip
猜你喜欢

How will Web3 change the future of people?

6-18漏洞利用-后门连接

【Flink】FLink RocksDBListState 报错 You cannot add null to a ListState
![[MAIXPY]kpu: load error:2005, ERR_READ_FILE: read file failed问题解决](/img/0b/da67b5a361a2cdfaf81568d34cf5f7.png)
[MAIXPY]kpu: load error:2005, ERR_READ_FILE: read file failed问题解决

Bitcoin.com:USDD代表了真正去中心化稳定币
![[redis underlying parsing] string type](/img/a6/47083b033125195ebaf80090919fe2.png)
[redis underlying parsing] string type

【饭谈】那些看似为公司着想,实际却让人无法理解的事(二:面试时的软素质“眼缘”)

【Redis底层解析】链表类型

Redis 使用详解

FAW red flag "King fried" is listed, which is safe and comfortable
随机推荐
【饭谈】细说:下克上,向上管理,向上画饼。
【Redis底层解析】链表类型
C#Socket
5、 Pinda general permission system__ PD tools XXS (anti cross site script attack)
Unity metaverse (II), mixamo & animator hybrid tree and animation fusion
MPI learning notes (II): two implementation methods of matrix multiplication
c sqlite ... ...
Detailed summary of C language game dual cache to solve the flash screen problem [easy to understand]
ansible+Crontab批部署巡检
es6--解构赋值
In Oracle 19C version, logminer package continuous_ The outdated function of mine leads to CDC failure
H5 realize the animation effect of a scratch card
Basic knowledge in the project
Redis内存淘汰机制?
Redis usage details
Unity Metaverse(二)、Mixamo & Animator 混合树与动画融合
C#Socket
Is there any document for synchronizing from Oracle to ODPs?
C语言左值和右值说明[通俗易懂]
[interview: concurrent Part 24: multithreading: comprehensive exercise] sequence control