1.golang的环境搭建及入门
2024-09-21 23:16:04
- 安装包下载
- 下载链接:https://dl.google.com/go/go1.12.3.windows-amd64.msi
- 环境搭建
- 安装完成之后,找一个来存放go语言文件的文件夹,我这里选的是G:\go
- GOROOT:Go 安装后的根目录(例如:G:\go),安装过程中会由安装程序自动写入系统环境变量中。
- GOBIN:Go 的二进制文件存放目录(%GOROOT%\bin)
- PATH:需要将 %GOBIN% 加在 PATH 变量的最后,方便在命令行下运行。
- 在GOPATH目录下(G:\go)新建三个文件夹
- bin // 用来存放编译好的可执行文件
- pkg //包含包对象,编译好的库文件
- src //包含 Go 源文件
一般下载的包和自定义的包的源码都放在src目录下,不同的包用不同的文件夹隔开,自己的项目可以不用放在src目录下
一般包的名字都是文件夹的名字,利用goland创建包的时候,在自动把文件的package名设置为该文件所在目录的文件夹名
- 在src外部的go文件可以通过import来导入src目录下的包文件
- 第一个go程序
package main //package:表示这是一个go的包文件 main表示该文件可被编译成可执行文件 import "fmt" //import:导入包 fmt一个包名 导入包的字符串必须用双引号包裹 func main() { //main函数,入口函数,在同一个文件夹下(包)有且只有做一个main包否则会报错
fmt.Println("hello world!") //fmt包的Println方法,在控制台打印出字符串
} - 编译和运行
- go run
- 编译并直接运行程序,它会产生一个临时文件(但不会生成 .exe 文件),直接在命令行输出程序执行结果,方便用户调试。
- go build
- 用于测试编译包,主要检查是否会有编译错误,如果是一个可执行文件的源码(即是 main 包),就会直接生成一个可执行文件。
- Windows下默认生成和go文件名相同文件名的exe可执行文件
- go build name.exe name.go
- 可指定生成可执行文件的名字
- 用于测试编译包,主要检查是否会有编译错误,如果是一个可执行文件的源码(即是 main 包),就会直接生成一个可执行文件。
- go install:
- go install 的作用有两步:第一步是编译导入的包文件,所有导入的包文件编译完才会编译主程序;第二步是将编译后生成的可执行文件放到 bin 目录下($GOPATH/bin),编译后的包文件放到 pkg 目录($GOPATH/pkg)。
- go的第二个程序
package main import "fmt" func add(a int, b int) int {
var result = a + b
return result
}
func main() {
var result = add(, )
fmt.Println(result)
}go对代码风格做了一致统一,大括号和小括号的位置不能更改,否则会不通过编译;go是强类型,一个变量声明时必声明其类型;每个声明的变量和函数都必须被使用上,否则编译则不会通过。
- go run
最新文章
- WebApi防重复提交方案
- 64. Minimum Path Sum
- 【 D3.js 高级系列 — 10.0 】 思维导图
- LDO稳压器工作原理
- SQL表名,应该用复数还是单数
- hmac_检验客户端是否合法
- sqlserver 脚本生成数据库文档
- Actifio如何保护和管理Oracle-带外篇
- ajax简单登录(踩过的坑)
- ElementUI在IE11下兼容性修改
- django(六)之ORM数据库操作
- c# txt代码转换成HTML格式
- win8 下面 listen 的队列长度貌似无效了 上c/s 代码 并附截图,有图有真相
- EZ 2018 03 30 NOIP2018 模拟赛(六)
- SSIS系列文章收藏
- MySQL InnoDB的一些参数说明
- 外部类与main方法笔记
- Coursera 机器学习 第6章(上) Advice for Applying Machine Learning 学习笔记
- jquery使滚动条滚动到最底部
- 二叉树遍历 Morris
热门文章
- Matlab Code for Visualize the Tracking Results of OTB100 dataset
- [译] 关于 Angular 依赖注入你需要知道的
- yii中的restful方式输出并调用接口和判断用户是否登录状态
- zzw原创_解决Could not chdir to home directory /test/bdctool: Permission denied一例
- vue2.0 实现富文本编辑器功能
- Java实现类似eval()函数或exec()函数的功能
- JJTree Tutorial for Advanced Java Parsing
- 转载:VC++6.0注释快捷键设置,略有修改
- idea:打包jar(原文by曲高终和寡)
- .net core WebApi Interlocked配合ManualResetEventSlim实现并发同步