热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Go编程基础—windows下Go语言开发环境搭建

windows下Go语言开发环境搭建Golang是Google的第二门编程语言,但是Golang与simple和Dart不同的是,Golang是一门系统级编程语言,也就是说他和C++、

windows下Go语言开发环境搭建

Golang是Google的第二门编程语言,但是Golang与simple和Dart不同的是,Golang是一门系统级编程语言,也就是说他和C++、Java是同类型的语言。学习Golang是我自己的爱好和兴趣,我个人对这个语言比较看好,毕竟这个语言是在已经有了C++、Java、Javascript、Python等强大并极其流行的语言下诞生的,他就是为了补偿现有编程语言的不足,提取他们的精髓。就此创造出了一门能适应当代快速开发和迭代、拥抱变化、大数据、多核高并发的场景。该语言的被号称是:互联网时代的C。这就意味着:1.具有互联网web开发所需的特点,即开发高效;2.具有C语言一样的运行速度,即运行高效。相信这两个特点会让你找到归宿了吧。希望Golang能流行起来,让大家见到它的魅力。下面介绍下Go语言开发环境搭建的步骤:
1. 安装
安装Go语言有三种方式

* Go源码安装:[参考链接](http://www.jb51.net/article/56778.htm)
* Go标准包安装:[下载地址](https://golang.org/dl/)
* 第三方工具安装

Go环境变量与工作目录
根据约定,GOPATH下需要建立3个目录:

* bin(存放编译后生成的可执行文件)
* pkg(存放编译后生成的包文件)
* src(存放项目源码)

go命令依赖一个环境变量:GOPATH,这不是Go的安装目录,而是你的工作(工程)目录(你的代码都会在该目录下)。GOPATH可以有多个,windows以分号(;)进行区分,Linux系统是冒号(:),当有多个GOPATH时,默认会将go get的内容放在第一个目录下。这里我们新建一个GOPATH变量,以我的为例:E:\LuckyCat\go。

Windows上的安装步骤如下:

* 下载Go开发环境:https://golang.org/dl/
* 如果你下载的是exe或者msi的安装包,就直接安装了,不需要配置环境变量
* 如果下载的zip,就将其解压;配置环境变量
*
* GOROOT = E:\LuckyCat\go
* GOBIN = %GOROOT%\bin (现在的go1.5已经不需要配置这个环境变量了)
* GOARCH = amd64 (如果你的系统是32位则是386,如果是64位则是amd64)(现在的go1.5已经不需要配置这个环境变量了)
* GOOS = windows (如果你的操作系统是windows,如果是linux请写linux)(现在的go1.5已经不需要配置这个环境变量了)
* path:如果末尾如有没有分号,则添加之,然后再末尾添加%GOROOT%\bin

* 安装好了后,在cmd中运行go,如果出现go命令的帮助信息,则go开发环境安装正确。

Linux、FreeBSD、OS X上的安装请看http://ioio.name/golang-install.html或者官网的介绍:http://golang.org/doc/install.html
2. 测试(Windows下)
在任何地方创建一个文件:goTest.go
写入如下代码后保存:

package main
import (
"fmt"
)

func main() {
fmt.Println("hello world!")
}

在cmd中cd到该文件的路径下,用一下命令进行编译、链接和执行
go run goTest.go
如果输出hello world!表示开发环境安装成功
Go 1的性能也很喜人,比较新的一个对Go 1和Node.js的性能对比测试:http://www.cnblogs.com/QLeelulu/archive/2012/08/12/2635261.html

3. 开发工具

* goclipse(很完善的go语言在eclipse上的插件)

安装步骤:
1)Help–>Eclipse Marketplace搜索goClipse安装
2)配置git环境 Windows–>Preferences–>Go
这里写图片描述
这里写图片描述


推荐阅读
  • 搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的详细步骤
    本文详细介绍了搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的步骤,包括环境说明、相关软件下载的地址以及所需的插件下载地址。 ... [详细]
  • Java在运行已编译完成的类时,是通过java虚拟机来装载和执行的,java虚拟机通过操作系统命令JAVA_HOMEbinjava–option来启 ... [详细]
  • Java程序设计第4周学习总结及注释应用的开发笔记
    本文由编程笔记#小编为大家整理,主要介绍了201521123087《Java程序设计》第4周学习总结相关的知识,包括注释的应用和使用类的注释与方法的注释进行注释的方法,并在Eclipse中查看。摘要内容大约为150字,提供了一定的参考价值。 ... [详细]
  • Week04面向对象设计与继承学习总结及作业要求
    本文总结了Week04面向对象设计与继承的重要知识点,包括对象、类、封装性、静态属性、静态方法、重载、继承和多态等。同时,还介绍了私有构造函数在类外部无法被调用、static不能访问非静态属性以及该类实例可以共享类里的static属性等内容。此外,还提到了作业要求,包括讲述一个在网上商城购物或在班级博客进行学习的故事,并使用Markdown的加粗标记和语句块标记标注关键名词和动词。最后,还提到了参考资料中关于UML类图如何绘制的范例。 ... [详细]
  • YOLOv7基于自己的数据集从零构建模型完整训练、推理计算超详细教程
    本文介绍了关于人工智能、神经网络和深度学习的知识点,并提供了YOLOv7基于自己的数据集从零构建模型完整训练、推理计算的详细教程。文章还提到了郑州最低生活保障的话题。对于从事目标检测任务的人来说,YOLO是一个熟悉的模型。文章还提到了yolov4和yolov6的相关内容,以及选择模型的优化思路。 ... [详细]
  • 开发笔记:加密&json&StringIO模块&BytesIO模块
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了加密&json&StringIO模块&BytesIO模块相关的知识,希望对你有一定的参考价值。一、加密加密 ... [详细]
  • 本文介绍了RPC框架Thrift的安装环境变量配置与第一个实例,讲解了RPC的概念以及如何解决跨语言、c++客户端、web服务端、远程调用等需求。Thrift开发方便上手快,性能和稳定性也不错,适合初学者学习和使用。 ... [详细]
  • 本文介绍了Web学习历程记录中关于Tomcat的基本概念和配置。首先解释了Web静态Web资源和动态Web资源的概念,以及C/S架构和B/S架构的区别。然后介绍了常见的Web服务器,包括Weblogic、WebSphere和Tomcat。接着详细讲解了Tomcat的虚拟主机、web应用和虚拟路径映射的概念和配置过程。最后简要介绍了http协议的作用。本文内容详实,适合初学者了解Tomcat的基础知识。 ... [详细]
  • 本文介绍了在Windows环境下如何配置php+apache环境,包括下载php7和apache2.4、安装vc2015运行时环境、启动php7和apache2.4等步骤。希望对需要搭建php7环境的读者有一定的参考价值。摘要长度为169字。 ... [详细]
  • Android源码深入理解JNI技术的概述和应用
    本文介绍了Android源码中的JNI技术,包括概述和应用。JNI是Java Native Interface的缩写,是一种技术,可以实现Java程序调用Native语言写的函数,以及Native程序调用Java层的函数。在Android平台上,JNI充当了连接Java世界和Native世界的桥梁。本文通过分析Android源码中的相关文件和位置,深入探讨了JNI技术在Android开发中的重要性和应用场景。 ... [详细]
  • 2018年人工智能大数据的爆发,学Java还是Python?
    本文介绍了2018年人工智能大数据的爆发以及学习Java和Python的相关知识。在人工智能和大数据时代,Java和Python这两门编程语言都很优秀且火爆。选择学习哪门语言要根据个人兴趣爱好来决定。Python是一门拥有简洁语法的高级编程语言,容易上手。其特色之一是强制使用空白符作为语句缩进,使得新手可以快速上手。目前,Python在人工智能领域有着广泛的应用。如果对Java、Python或大数据感兴趣,欢迎加入qq群458345782。 ... [详细]
  • Nginx使用AWStats日志分析的步骤及注意事项
    本文介绍了在Centos7操作系统上使用Nginx和AWStats进行日志分析的步骤和注意事项。通过AWStats可以统计网站的访问量、IP地址、操作系统、浏览器等信息,并提供精确到每月、每日、每小时的数据。在部署AWStats之前需要确认服务器上已经安装了Perl环境,并进行DNS解析。 ... [详细]
  • 向QTextEdit拖放文件的方法及实现步骤
    本文介绍了在使用QTextEdit时如何实现拖放文件的功能,包括相关的方法和实现步骤。通过重写dragEnterEvent和dropEvent函数,并结合QMimeData和QUrl等类,可以轻松实现向QTextEdit拖放文件的功能。详细的代码实现和说明可以参考本文提供的示例代码。 ... [详细]
  • Tomcat/Jetty为何选择扩展线程池而不是使用JDK原生线程池?
    本文探讨了Tomcat和Jetty选择扩展线程池而不是使用JDK原生线程池的原因。通过比较IO密集型任务和CPU密集型任务的特点,解释了为何Tomcat和Jetty需要扩展线程池来提高并发度和任务处理速度。同时,介绍了JDK原生线程池的工作流程。 ... [详细]
  • 本文讨论了Kotlin中扩展函数的一些惯用用法以及其合理性。作者认为在某些情况下,定义扩展函数没有意义,但官方的编码约定支持这种方式。文章还介绍了在类之外定义扩展函数的具体用法,并讨论了避免使用扩展函数的边缘情况。作者提出了对于扩展函数的合理性的质疑,并给出了自己的反驳。最后,文章强调了在编写Kotlin代码时可以自由地使用扩展函数的重要性。 ... [详细]
author-avatar
叶斯琪147-
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有