Golang环境搭建及打包和工具链详解

 更新时间:2023年04月15日 10:33:05   作者:高自期许  
这篇文章主要介绍了Golang环境搭建及打包和工具链,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

一、环境搭建

从https://golang.google.cn/dl/下载安装即可

新建GO_HOME 系统环境变量,指向go的安装目录
在终端输入go dev即可测试有无安装成功

二、包

所有Go程序的程序都会组织成若干组文件,每组文件被称为一个包。每个包的代码都可以作为很小的复用单元,被其他项目引用。
①所有的go文件都应在第一行声明自己所属的包。每个包都在一个单独的目录里。这意味着同一个目录下的所有.go文件都必须声明同一个包名。
②给包命名时都应该使用简洁、清晰且全小写的名字。
③main包具有特殊意义。Golang的编译程序会试图把这种名字的包编译为二进制可执行文件。所有的Golang编译的可执行程序都必须有一个名叫main的包。
执行下面这段代码

package main

import "fmt"

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

在该代码目录下执行go build 文件名。可以看到生成了可执行文件。

三、导入

对于import导入的内容
①标准库中的包会在安装Go的位置找到,开发者创建的包会在GOPATH环境变量指定的目录里查找。还可以导入远程路径比如github上的包
②导入一个不在代码中使用的包会导致编译失败,可以在前面加下划线进行标注。

四、init函数

每个包可以包含任意多的init函数,这些函数都会在程序执行开始时调用,在main之前调用

五、一些常用go命令

go build hello.go 编译生成可执行文件
go clean hello.go 删除编译生成的可执行文件
go run hello.go 先编译后执行
go vet hello.go 捕获一些常见错误
go fmt 代码格式化
go doc 在终端打开一个文档
godoc -http=:6060在端口启动一个web服务器,可以使用http://localhost:6060打开

到此这篇关于Golang环境搭建及打包和工具链的文章就介绍到这了,更多相关go打包和工具链内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • GoAdminGroup/go-admin的安装和运行的教程详解

    GoAdminGroup/go-admin的安装和运行的教程详解

    这篇文章主要介绍了GoAdminGroup/go-admin的安装和运行的教程详解,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-09-09
  • golang下grpc框架的使用编写示例

    golang下grpc框架的使用编写示例

    这篇文章主要为大家介绍了golang下grpc框架的使用编写示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步早日升职加薪
    2022-04-04
  • go语言base64用法实例

    go语言base64用法实例

    这篇文章主要介绍了go语言base64用法,实例分析了Go语言base64编码的实用技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-02-02
  • Go语言实现二进制与十进制互转的示例代码

    Go语言实现二进制与十进制互转的示例代码

    这篇文章主要和大家详细介绍了Go语言中实现二进制与十进制互相转换的示例代码,文中的代码简洁易懂,感兴趣的小伙伴可以跟随小编一起学习一下
    2023-05-05
  • 细说Go语言中空结构体的奇妙用途

    细说Go语言中空结构体的奇妙用途

    Go语言中,我们可以定义空结构体,即没有任何成员变量的结构体,使用关键字 struct{} 来表示。这种结构体似乎没有任何用处,但实际上它在 Go 语言中的应用非常广泛,本文就来详解讲讲
    2023-05-05
  • Go语言学习笔记之错误和异常详解

    Go语言学习笔记之错误和异常详解

    Go语言采用返回值的形式来返回错误,这一机制既可以让开发者真正理解错误处理的含义,也可以大大降低程序的复杂度,下面这篇文章主要给大家介绍了关于Go语言学习笔记之错误和异常的相关资料,需要的朋友可以参考下
    2022-07-07
  • GO语言协程创建使用并通过channel解决资源竞争

    GO语言协程创建使用并通过channel解决资源竞争

    这篇文章主要为大家介绍了GO语言协程创建使用并通过channel解决资源竞争,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步早日升职加薪
    2022-04-04
  • 详解如何在golang项目开发中创建自己的Module

    详解如何在golang项目开发中创建自己的Module

    既然我们使用了很多开源的 module为我们的日常开发提供了很多的便捷性,那我们该如何实现自己的 module 来提供给团队中使用,接下小编就给大家介绍一下在golang项目开发如何创建自己的Module,需要的朋友可以参考下
    2023-09-09
  • Go 代码规范错误处理示例经验总结

    Go 代码规范错误处理示例经验总结

    这篇文章主要为大家介绍了Go 代码规范错误处理示例实战经验总结,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-08-08
  • golang中切片copy复制和等号复制的区别介绍

    golang中切片copy复制和等号复制的区别介绍

    这篇文章主要介绍了golang中切片copy复制和等号复制的区别,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-04-04

最新评论