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的几个重要命令

  • 相关阅读:
    最新iOS发布App Store详细图文教程~
    介绍一个轻量级iOS安全框架:SSKeyChain
    今天科普一下 苹果开发者账号中:个人、公司、企业账号的区别
    iOS开发:Framework的创建
    JMS 在 SpringBoot 中的使用
    iOS 引入外部字体 otf/ttf/ttc
    公司企业苹果开发者账号中个人、公司企业账号的不同
    Git版本管理
    有关苹果手机下载应用后提示不受信任的企业开发者解决方案:
    尝试一下markdown
  • 原文地址:https://www.cnblogs.com/anti-archs/p/8398830.html
Copyright © 2011-2022 走看看