zoukankan      html  css  js  c++  java
  • Go语言简介和开发环境搭建

    一.Go语言介绍

    Go 即Golang,是Google公司2009年11月正式对外公开的一门编程语言。

    Go是静态强类型语言,是区别于解析型语言的编译型语言。

    解析型语言——源代码是先翻译为中间代码,然后由解析器对代码进行解释执行。
    
    编译型语言——源代码编译生成机器语言,然后由机器直接执行机器码即可执行。

    二.Go语言的特点

    跨平台的编译型语言

    语法接近C语言

    管道(channel),切片(slice),并发(routine)

    有垃圾回收的机制

    支持面向对象和面向过程的编程模式

    三.Go语言已实现的项目

    docker:基于lxc的一个虚拟打包工具,能够实现PAAS平台的组建。

    kubernetes :Kubernetes是Google开源的一个容器编排引擎,它支持自动化部署、大规模可伸缩、应用容器化管理。在生产环境中部署一个应用程序时,通常要部署该应用的多个实例以便对应用请求进行负载均衡

    区块链:BTCD 是用go语言实现的完整节点的比特币实现

    nsq:bitly开源的消息队列系统,性能非常高,目前他们每天处理数十亿条的消息

    packer:用来生成不同平台的镜像文件,例如VM、vbox、AWS等,作者是vagrant的作者

    skynet:分布式调度框架

    Doozer:分布式同步工具,类似ZooKeeper

    Heka:mazila开源的日志处理系统

    cbfs:couchbase开源的分布式文件系统

    tsuru:开源的PAAS平台,和SAE实现的功能一模一样

    groupcache:memcahe作者写的用于Google下载系统的缓存系统

    god:类似redis的缓存系统,但是支持分布式和扩展性

    gor:网络流量抓包和重放工具

    四.Go语言的架构

    GOPATH的工作区包含bin,src,和pkg这三个:

    src——源码(包含第三方的和自己项目的)

    bin——编译生成的可执行程序

    pkg——编译时生成的对象文件

    五.windows下开发环境搭建

    1.下载

    安装包下载地址为:https://golang.google.cn/dl/

    下载包名为go1.13.3.windows-amd64.msi的包

    2.安装

    Windows安装

    Windows 下可以使用 .msi 后缀(在下载列表中可以找到该文件,如go1.13.3.windows-amd64.msi)的安装包来安装。

    安装步骤:一直点下一步就行,只有安装位置需要选择,但如无必要都可以安装在c盘

    默认情况下 .msi 文件会安装在 c:Go 目录下。你可以将 c:Goin 目录添加到 Path 环境变量中(一般情况下,环境变量会自动配置)。添加后你需要重启命令窗口才能生效

    3.命令介绍

    基本介绍

    直接在终端中输入 go help 即可显示所有的 go 命令以及相应命令功能简介,主要有下面这些:

    • build: 编译包和依赖
    • clean: 移除对象文件
    • doc: 显示包或者符号的文档
    • env: 打印go的环境信息
    • bug: 启动错误报告
    • fix: 运行go tool fix
    • fmt: 运行gofmt进行格式化
    • generate: 从processing source生成go文件
    • get: 下载并安装包和依赖
    • install: 编译并安装包和依赖
    • list: 列出包
    • run: 编译并运行go程序
    • test: 运行测试
    • tool: 运行go提供的工具
    • version: 显示go的版本
    • vet: 运行go tool vet

    注意在go env中有两个环境变量需要注意:

    GOPATH=C:UsersAdministratorgo  // go的代码必须放在这个路径下
    
    GOROOT=H:Go  // go的安装路径

    build 和 run 命令

    就像其他静态类型语言一样,要执行 go 程序,需要先编译,然后在执行产生的可执行文件。go build 命令就是用来编译 go程序生成可执行文件的。但并不是所以的 go 程序都可以编译生成可执行文件的, 要生成可执行文件,go程序需要满足两个条件:

    • 该go程序需要属于main包
    • 在main包中必须还得包含main函数

    也就是说go程序的入口就是 main.main, 即main包下的main函数, 例子(test.go):

    编译hello.go,然后运行可执行程序:

    $ go run test.go   # 将会生成可执行文件 test
    $ ./test           # 运行可执行文件
    Hello, World!

    上面就是 go build 的基本用法,另外如果使用 go build 编译的不是一个可执行程序,而是一个包,那么将不会生成可执行文件。

    而 go run 命令可以将上面两步并为一步执行(不会产生中间文件)。

    $ go run test.go
    Hello, World!

    上面两个命令都是在开发中非常常用的。

    此外 go clean 命令,可以用于将清除产生的可执行程序:

    $ go clean    # 不加参数,可以删除当前目录下的所有可执行文件
    $ go clean hello.go  # 会删除对应的可执行文件

    get 命令

    这个命令同样也是很常用的,我们可以使用它来下载并安装第三方包, 使用方式:

    go get src

    从指定源上面下载或者更新指定的代码和依赖,并对他们进行编译和安装,例如我们想使用 beego 来开发web应用,我们首先就需要获取 beego:

    go get github.com/astaxie/beego

    这条命令将会自动下载安装 beego 以及它的依赖,然后我们就可以使用下面的方式使用:

    package main
    
    import "github.com/astaxie/beego"   # 这里需要使用 src 下的完整路径
    
    func main() {
        beego.Run()
    }

    六.GoLand集成开发环境搭建

    1.GoLond的下载

    IDE 下载地址:http://www.jetbrains.com/go/?fromMenu

    2.GoLond的安装

    傻瓜式安装

    下面的勾选这两个

    完成之后使用需要购买,可以在网上搜cdk(支持正版)

    3.GoLand的使用

    使用方法同pycharm,就不多赘述了

    102

  • 相关阅读:
    Java学习之集合(HashSet)
    Java学习之集合(LinkedList链表集合)
    Java学习之集合(List接口)
    Java学习之集合(Collection接口)
    【Spring Session】和 Redis 结合实现 Session 共享
    【NodeJS】nvm
    【Html JS】使用问题记录
    【VUE】使用问题记录
    【RabbitMQ】显示耗时处理进度
    【CentOS7】开发环境配置
  • 原文地址:https://www.cnblogs.com/sxchen/p/12012927.html
Copyright © 2011-2022 走看看