zoukankan      html  css  js  c++  java
  • Go语言入门——Go语言环境搭建

      下载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.
    ")
    }

      这段代码将在标准输出打印 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的几个重要命令

  • 相关阅读:
    算法:合并排序(Merge Sort)
    安全:Web 安全学习笔记
    算法:冒泡排序(Bubble Sort)、插入排序(Insertion Sort)和选择排序(Selection Sort)总结
    算法:四种冒泡排序(Bubble Sort)实现
    算法:阶乘的五种算法
    算法:递归知识文章汇总
    算法:插入排序(Insertion Sort)
    .NET:线程本地存储、调用上下文、逻辑调用上下文
    算法:Rate of Growth
    企业应用:一个够用的、通用的状态机(管理实体的业务状态)
  • 原文地址:https://www.cnblogs.com/anti-archs/p/8398830.html
Copyright © 2011-2022 走看看