go-入门到精通系列-001-介绍

荒凉一梦 提交于 2020-05-02 14:58:18

作为这个系列的第一篇,多说两句,希望大家跟着我一起学习,从入门到精通,没有废话,直接干货,这个系列的文章不会太长,定期更新,预计在20分钟内能读完一篇,所以对于想学习go的同学来说,基本没有压力。废话就到这里!

简介

Go,又称 golang, 语言起源 2007 年,2009 正式发布。是 Google 开发的一种静态强类型、编译型,并发型,并具有垃圾回收功能的编程语言。和C语言的语法有些类似,如:基础数据类型,控制流,指针等。所以也被成为C类似语言

生态

参考 2019 开发人员生态系统现状,Go在开发者眼中,已成为最有前途的编程语言。它的使用份额已从 2017 年的 8% 大幅跃升到今年的 18%,多达 13% 的开发人员愿意采用或迁移到 Go 语言

  • 官方网站
    每一个学习Go语言的人首先应该看的网站,在该网站上有官方提供的Go语言的文档说明,并且还包含Go语言团队发表的blog。
  • Golang全课程学习
    该网站上是Golang的资料学习网站,偏实战和技术型。包含Golang的相关知识,工具,源码等内容,比较丰富。
  • Github学习库
    github上的一个Go语言学习库,也是包含所有的知识点,文档,代码,相应的视频内容都有,也是比较不错的一份资料。

优势

  • 并行性&并发性
    Go 语言就是为并行而生的。Goroutine 和 channel 使得编写高并发的服务端软件变得相当容易,很多情况下完全不需要考虑锁机制以及由此带来的各种问题。单个 Go 应用也能有效的利用多个 CPU 核,并行执行的性能好。
  • 开发效率高
    多种赋值、数据结构、指针、格式化以及内置的 HTTP 库等能使给开发者提供快速着手开发。
  • 稳定的生态系统
    Go 有着强大的工具支持,面向 Redis、RabbitMQ、PostgreSQL、Template parsing、Task scheduling、Expression parsing 和 RocksDB 的稳定的库。

安装

下载安装

https://golang.org/dl/,点击下载对应的环境安装包。根据运行环境的不同,直接安装即可

环境设置

直接点击安装包即可,windows下默认sdk的安装目录:c:\Go,mac/linux 默认的安装目录是:/usr/local/go。以下以windows为例,其他环境参照修改即可

环境变量

  • 设置GOROOT,
    GOROOT=C:\Go 。 C:\Go 是go的安装目录。

  • 设置GOBIN

    GOBIN=%GOROOT%\bin, bin是sdk的可执行文件目录

  • 设置Path

    Path添加 %GOBIN%配置,至此,打开cmd,运行 go vesion 即可查看到 go的安装信息

  • 设置GOPATH

    GOPATH=D:\workspace\goimport ,D:\workspace\goimport 是第三方依赖的下载目录,第三方依赖下载下来后,就会下载到该目录中。也可以不配置,会默认下载到:C:\Users\{用户}\go 中。

  • 开启GO111MODULE
    GO111MODULE=on。Go 1.11 之后官方开始支持版本管理工具: mod,开启后即可使用mod,导入包非常方便,在此之前,每个依赖包都需要手工下载go get {包地址},mod管理后,可以一键导入。

  • 开启proxy

    GOPROXY=https://goproxy.io,direct。代理设置,依赖包可以直接从该地址下载,速度快,不需要经过漫长的等待,不需要翻墙。

输入 go env 即可看到关于go的所有变量,至此已完成所有的环境变量设置,我的输出如下:

[C:\~]$ go env
set GO111MODULE=on
set GOARCH=amd64
set GOBIN=C:\Go\bin
set GOPATH=D:\workspace\goimport
set GOPROXY=https://goproxy.io,direct
set GOROOT=C:\Go
……

hello world

  • 创建workspace,切记要在src下,本例子如下:

    D:\workspace\go\src
    
  • 创建项目 hello

    D:\workspace\go\src
    
  • 在项目目录下新建文件helloworld.go, 代码如下

    package main
    
    import "fmt"
    
    func main() {  
        fmt.Println("Hello World")
    }
    
  • 运行文件,即可看到输出

    go run {workspace}\src\hello\helloworld.go
    
  • 打包项目,生成可执行文件:hello.exe

    go build {workspace}\src\hello
    

本篇至此结束,下篇讲解基础语法

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!