美文网首页
go 语言项目

go 语言项目

作者: 死亡中走出来 | 来源:发表于2022-10-07 02:01 被阅读0次

编辑器选择:

首选goland,确实,挺好用;用过的都这么说。

入口函数, main 包

1.main函数为整个应用程序的入口

2.main函数的包名必须为main

3.main包可以包含多个文件

多个文件管理

放在不同的目录,package 区别不同包名。包名和文件夹名可以不一致。

编译,运行

编译go build

1.编译当前目录

1.go build

2. go build .

2.编译指定文件或目录

  1. go build ./main.go
  2. go build ./p1 #编译指定文件或目录

3.main 包有多个文件的情况,指定文件编译main包

1.go build ./main.go ./hello.go

4.编译时指定编译结果输出

1. go build -o ./out/app ./main.go ./hello.go

运行go run

1.直接通过go run 运行main包,即可运行引用程序

1.go run ./main.go ./hello.go

2. go run .

交叉编译

交叉编译需要修改GOOS,GOARCH, CGO_ENABLED三个环境变量

GOOS:目标平台的操作系统(darwin, freebsd, linux, windows)

GOARCH:目标平台的体系架构32位还是64位(386, amd64, arm)

CGO_ENABLED:是否启用CGO,交叉编译不支持CGO所以要禁用它

windows 编译Linux 与 Mac可执行程序

windows--Linux

1.$Env:CGO_ENABLED=0;$Env:GOARCH="amd64";$Env:GOOS="linux"

2.go build -o ./out/app .

windows--mac

1.$Env:CGO_ENABLED=0;$Env:GOARCH="amd64";$Env:GOOS="darwin"

2.go build -o ./out/app .

mac编译Linux与windows

1.CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o ./out/app .

2.CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build -o ./out/app.exe .

Linux编译Mac与windows

1.CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 go build -o ./out/app .

2.CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build -o ./out/app.exe .

go mod 依赖管理

1.初始化项目

1.go mod init <项目名称>

2.第三方依赖的引用

1.go get <依赖包>

2.go get -u <依赖包>

3.第三方依赖包引用案例,go.mod文件内会自动添加相关依赖版本信息

1.go get -u github.com/gin-gonic/gin

4.依赖对齐

1.#添加使用而未引用的依赖

2.#删除引用而未使用的依赖

3.go mod tidy

相关文章

  • GO项目目录结构介绍

    GO语言项目结构 在进行GO语言项目开发的时候,我们的代码总是会保存在$GOPATH/src目录下。在项目经过go...

  • go学习计划 2018-07-13

    go语言入门及实战 go web开发 go源码及项目阅读

  • 优秀网站

    一.语言栈 GO go 博客 Go中国 zupzup : web Ewan : 微服务 go开源项目 Beego:...

  • 1.1 课程导读

    go语言在中国的热度比较高 go语言的项目: Docker, Kubernetes, Caddy, Cockroa...

  • 以太坊私有链搭建+挖矿+转账

    初识以太坊 以太坊介绍链接 以太坊官方 选择语言 选择以GO语言开发的Go-ethereum项目 GO语言安装 安...

  • 通过项目学习Go语言之gatekeeper请求流程

    在前面的《通过项目学习Go语言之...》系列文章中,我们对Go语言开发环境的配置以及开发项目最基础的功能之go m...

  • Go语言操作Redis

    Go语言操作Redis 在项目开发中redis的使用也比较频繁,本文介绍了Go语言中go-redis库的基本使用。...

  • Go语言能够取代Java,成为下一个王者吗?

    近几年来,Go语言真是越来越火了。我也做过几个Go语言的项目了,我们公司很多微服务的项目也在由Java往Go上面转...

  • 12.包

    在工程化的Go语言开发项目中,Go语言的源码复用是建立在包(package)基础之上的。本文介绍了Go语言中如何定...

  • Go语言基础之包

    在工程化的Go语言开发项目中,Go语言的源码复用是建立在包(package)基础之上的。本文介绍了Go语言中如何定...

网友评论

      本文标题:go 语言项目

      本文链接:https://www.haomeiwen.com/subject/iieiartx.html