Go语言快速开发入门

news/2025/1/31 3:08:41/

文章目录

Go语言快速开发入门

1. 需求

要求开发一个hello.go 程序,可以输出 "hello,world”

2. 开发的步骤

  1. 开发这个程序/项目时,go的目录结构怎么处理

在这里插入图片描述

package mainimport "fmt"func main() {fmt.Print("Hello, world!")
}

对上图的说明

  1. go 文件的后缀是 .go
  2. package main
    • 表示该 hello.go 文件所在的包是main, 在go中,每个文件都必须归属于一个包。
  3. import “fmt”,表示:引入一个包,包名 fmt,引入该包后,就可以使用fmt包的函数,比如:fmt.Println
  4. func main() {
    },func 是一个关键字,表示一个函数。
    main 是函数名,是一个主函数,即我们程序的入口。
  5. fmt.Println(“hello”),表示调用 fmt 包的函数 Println输出 “hello,world”

3. 编译

在终端设置环境变量,Windows64位的操作系统设置如下

go env -w CGO_ENABLED=0
go env -w GOOS=windows
go env -w GOARCH=amd64
  • go env -w CGO_ENABLED=0:这个命令设置了环境变量CGO_ENABLED为0,意味着关闭了CGO,即在编译过程中不会使用C语言相关的代码或库,这样可以确保生成的二进制文件不依赖于外部C库,从而提高其移植性。

  • go env -w GOOS=windows:设置环境变量GOOS为windows,这指定了目标操作系统为Windows。也就是说,接下来的编译过程会针对Windows系统进行优化和适配。

  • go env -w GOARCH=amd64:设置环境变量GOARCH为amd64,这意味着指定目标架构为AMD64(即x86_64),也就是64位处理器架构。此设置与现代大多数计算机兼容。

  • 32位Windows操作系统设置如下:

go env -w CGO_ENABLED=0
go env -w GOOS=windows
go env -w GOARCH=386
  • 通过 gobuild 命令对该 go 文件进行编译,生成 .exe 文件
go build hello.go

在这里插入图片描述

4. 运行

hello.exe

在这里插入图片描述

  • 注意:通过 gorun 命令可以直接运行 hello.go 程序 【类似执行一个脚本文件的形式】
go run hello.go

在这里插入图片描述


http://www.ppmy.cn/news/1567630.html

相关文章

软件开发中的密码学(国密算法)

1.软件行业中的加解密 在软件行业中,加解密技术广泛应用于数据保护、通信安全、身份验证等多个领域。加密(Encryption)是将明文数据转换为密文的过程,而解密(Decryption)则是将密文恢复为明文的过程。以下…

c++ 定点 new

&#xff08;1&#xff09; 代码距离&#xff1a; #include <new> // 需要包含这个头文件 #include <iostream>int main() {char buffer[sizeof(int)]; // 分配一个足够大的字符数组作为内存池int* p new(&buffer) int(42); // 使用 placement new…

Linux--权限

Linux系统的权限管理是保障系统安全的重要机制&#xff0c;以下详细讲解权限相关概念及操作指令&#xff1a; 一、基础权限机制 1. 权限的三元组&#xff0c;读&#xff08;r&#xff09;、写&#xff08;w&#xff09;、执行&#xff08;x&#xff09; 每个文件或目录有三组…

YOLOv11改进,YOLOv11添加ASFF检测头,并添加小目标检测层(四头检测),适合目标检测、分割等任务,全网首发

摘要 一种新颖的数据驱动的金字塔特征融合策略,称为自适应空间特征融合 (ASFF)。它学习了在空间上过滤冲突信息以抑制不一致的方法,从而提高了特征的尺度不变性,并引入了几乎免费的推理开销。 # 理论介绍 目标检测在处理不同尺度的目标时,常采用特征金字塔结构。然而,…

WebRtc06: 音视频数据采集

音视频采集API 通过getUserMedia这个API去获取视频音频&#xff0c; 通过constraints这个对象去配置偏好&#xff0c;比如视频宽高、音频降噪等 测试代码 index.html <html><head><title>WebRtc capture video and audio</title></head><…

顶刊JFR|ROLO-SLAM:首个针对不平坦路面的车载Lidar SLAM系统

摘要 基于激光雷达&#xff08;LiDAR&#xff09;的同步定位与地图构建&#xff08;SLAM&#xff09;被认为是在恶劣环境中提供定位指导的一种有效方法。然而&#xff0c;现成的基于激光雷达的SLAM方法在经过不平坦地形时&#xff0c;尤其是在垂直方向相关的部分&#xff0c;会…

【趣学SQL】第五章:性能优化与调优 5.2 数据库调优——让MySQL跑得比双十一快递还快的终极秘籍

第五章&#xff1a;性能优化与调优 5.2 数据库调优——让MySQL跑得比双十一快递还快的终极秘籍 欢迎来到「MySQL改装车间」&#xff01;今天我们将化身"数据库赛车工程师"&#xff0c;用一家日订单千万的虚拟电商平台崩溃案例&#xff0c;教你如何把MySQL从"老…

设计模式-建造者模式、原型模式

目录 建造者模式 定义 类图 优缺点 角色 建造者模式和工厂模式比较 使用案例 原型模式 定义 类图 优缺点 应用场景 应用类型 浅克隆 深克隆 建造者模式 定义 将一个复杂的对象的构造与它的表示分离&#xff0c;使同样的构建过程可以创建不同的表示&#xff0c;…