golang 入门

曹飞龙 · · 384 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。
本文章使用的是 go1.13 ,使用的系统为 mac os

最近在学习go,吧自己在学习go中遇到的一些问题记录一下

安装

推荐使用 gvm 安装

gvm是一个管理go 版本的工具

安装步骤

bash < <(curl -s -S -L https://raw.githubusercontent.com/moovweb/gvm/master/binscripts/gvm-installer)

gvm install go1.13 -B

gvm use go1.13  --default

在使用gvm 的过程中遇到了一些问题,在gvm 的read.md中建议先安装 go1.4 然后在安装别的,我安装了好几次都失败了,最后卸载了gvm 然后使用直接使用上面的 命令就成功了(mac系统)

环境变量介绍

GPROOT 指定go程序的安装位置(可以不管)
GOPATH 定义工作空间

go规定你的工作空间必须在GOPATH下,分为三个目录

bin 存放build 之后的二进制文件
src 存放源码
pkg 存放模块编译之后的文件

PATH 设置PATH是为了能够方便的运行go编译之后的文件,所以讲 GO_PATH/bin 添加到 PATH

Hello World

创建 hello.go 并写入如下内容

package main

import "fmt"

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

一个go 的hello world 的程序就完成了,执行 go run hello.go

包管理

当我使用go开发项目的时候发现go 的包管理有很多种方式,不过在go1.11 之后还是推荐大家使用 go modules

使用条件

项目的目录不在 GOPATH 目录下

使用方法

go mod init <模块名称>  ## 创建  go.mod   模块名称使用来调用当前目录的模块的
go get <模块名称>  ##安装依赖包

go 命令会根据go.mod 中定义的版本下载对应的依赖,如果你的代码中引入了包没有在go.mod中 go命令会现在最新的包并且吧依赖关系放到 go.mod 中

go mod超时的问题 设置 export GOPROXY="https://goproxy.io" 使用这个代理将不会有超时的问题

经验

在开发web项目的过程中需要频繁的重启服务,之前写node 的时候有一个 nodemon的工具,在写go的时候也找了找,找到一个gowatch 的工具还算好用,在这里推荐一下

学习视频


有疑问加站长微信联系(非本文作者)

本文来自:Segmentfault

感谢作者:曹飞龙

查看原文:golang 入门

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:1006366459

384 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传