• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

Go语言入门——Go语言环境搭建

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

  下载Go语言包

  go binary release是一套 二进制+源码+SDK+工具组成的,和其他语言比,唯独没有运行时,也不需要。Go官方国内访问不稳定,最好FQ。请到https://golang.org/dl/ 下载对应的包,目前是1.9.3版本

  三个环境变量

  首先你要了解对应操作系统的环境变量怎么配置,以及影响的范围,篇幅有限不赘述。假设你的go安装路径为 /root/app/go下,首先要确保PATH变量中有/root/app/go/bin。之后配置GOROOT为/root/app/go/即你的go安装目录

  最后一项是GOPATH,这个很重要很多人被坑在这。go和其他语言不一样十分依赖于工作目录,即GOPATH。比如我建立了三个目录, golib, gowork, gotest(虽然官方建议 “Go programmers typically keep all their Go code in a single workspace.”)

  

  之后在环境变量中把GOPATH配为这三个目录,并且把golib放在第一个。这三个目录中的又要分别有bin, pkg, src 三个文件夹,这才算一个标准的工作目录,一张官网的截图作为参照:

  go的这种模式决定了你不能按照版本控制工具来作为代码的根目录,也不能随意的将某一个测试项目建立到随意的路径下,而必须都在GOPATH包含的路径中,src目录下

  最后,如果是linux系统别忘了export GOPATH和GOROOT

  测试

  首先执行以下 go version,确保输出“go version 1.9.3xxxxx”的字样。然后在你的某个src下创建一个helloword文件夹,我们假设这个目录为 /root/app/gowork/src,在里面创建一个application.go的文件,把以下代码复制过去:

package main

import "fmt"

func main() {
    fmt.Printf("Hello, world.\n")
}

  这段代码将在标准输出打印 Hello, world。第一个行是固定写法,每个要最终发布为二进制可执行程序的都要这么写,import 不用多说了,fmt.Printf就是我们最常用的标准输出函数。现在思考一下哪里和Java不一样?fmt是模块名或者说包名,你现在在通过包名直接调用包内部的方法,这里不涉及到“类”!

  在/root/app/gowork/src/helloworld 下执行 go run application.go 试试?如果能打印hello world. 则你成功了

  IDE

  我们都有intellij idea,可以在上面安装GO语言的插件,但至少在我还在用go 1.6的那时,就有很多问题,不知道现在是否修正了。我向大家推荐同样是Jetbrains的GoLand,界面风格和intellij idea完全一样

  从 https://www.jetbrains.com/go/?fromMenu下载安装文件,GoLand需要购买key,当然,你可以百度一下...

  安装好后可能需要你设置一下SDK路径,选在你go的安装路径就好。在settings选项中,你能看到go的各项配置,你甚至可以添加一个只给GoLand用的GOPATH,但我不建议这么做

  点File->Open,选择helloworld目录。你能看到他自动识别了main函数,有一个我们熟悉的小绿箭头,点击一下

  和刚才的结果一样。看一看最下面Run的打印的内容

执行的并不是刚才的go run,而是go build?并且生成了exe文件,最后用runnerw.exe执行了生成的exe。下一篇中我们会详细说go的几个重要命令

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
go 学习 (五):包管理发布时间:2022-07-10
下一篇:
go杂项笔记发布时间:2022-07-10
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap