Let's Go -- 初始go语言

Go语言介绍

  go语言是什么

    2009年11月10日,谷歌研发。

    go(golang)是云计算时代的C语言。

    介于C语言(编译型语言,执行速度快)和python语言(解释型语言,擅长快速开发)之间。

    

  go语言优势

    go语言是编译型语言,不依赖其他包,部署就是扔一个包上去

    go语言天生支持并发

    go语言gc垃圾回收机制

    丰富的标准库,跨平台编译,内嵌C支持

  go适合做什么

    服务器编程,例如:处理日志,数据打包,虚拟机处理,文件系统

    分布式系统,数据库代理器

    网络编程,web应用

    内存数据库,例如:google开发的groupcache,couchbase的部分组件

    云平台,CloudFoundy的部分组件,前Vmare的技术总监自己开发的apcera云平台

环境搭建

  安装和配置

    下载地址:https://studygolang.com/dl

      windows:  

      根据需要下载32位(386)或者64位(amd64);
      以zip版本为例:

        下载后解压,保证及解压后的文件夹全路径内没有中文和空格;

        进入解压文件,将bin文件路径配置到环境变量中;

        配置完成后打开dos窗口或者powershell,输入go version,回车,出现版本号后说明go变量配置成功

      Linux:  

      查看系统版本:uname -a
      以tar.gz版本为例:

        拷贝压缩包到指定目录:cp go...tar.gz /opt

        解压文件:tar -zxvf go.....tar.gz

        解压后进入bin文件下,输入./go version,可以看到版本

        配置环境变量:sudo vim /etc/profile

            export GOROOT=/opt/go
            export PATH=$PATH:$GOROOT/bin
            export GOPATH=$HOME/goproject

        注销重新登录,使用go version查看环境变量是否配置成功

  标准命令概述

    bug :创建一个bug报告
      执行完命令后,会用浏览器访问github.com/golang/go 的issue。自动填写一些内容,引导你如何提交一个bug报告
    build:用于编译给定的代码包或Go语言源码文件及其依赖包
      默认情况下,会在命令所在目录生成一个当前操作系统对应的可执行文件
    clean:用于清除执行其他go命令后遗留的目录和文件
      前面提到的build命令和下面的test命令会生成一些文件和目录,clean会清理掉这些文件,包括build命令生成可执行文件
    doc:打印包中的文档和标记符
      打印出包或指定文件的说明文档,加上-all 参数,可以看到包里的所有函数列表和文档。go doc -all -u
    env:用于打印go语言环境信息
      查看各个go的开发环境参数,忘记GOPATH和GOROOT路径就可以用这个打印出来
    fix:用于执行go tool fix 命令以修正给定代码包的源码文件中包含的过时语法和代码调用
      如果你升级了go,担心以前的代码不兼容,那么就可以用 go fix
    fmt: 主要是用来帮你格式化所写好的代码文件。
      go的代码格式标准是唯一的,用go fmt可以格式化代码文件,很多IDE就是调用这个命令来在保存文件时调整格式
    generate:根据指令生成go文件
      查找当前包相关的源代码文件,找出所有包含”//go:generate”的注释,提取并执行该特殊注释后面的命令,类似shell执行命令 
    get :下载和安装go包以及其依赖包的命令
      go get <包的路径> 
    install:编译和安装包及其依赖包

      可执行文件会被安装在$GOPATH/bin目录下
    list :列出目录下的所有包和模块,每行一个
    mod :初始化模块
    run : 运行go项目

      它会编译包,然后直接运行起来,不会在当前目录生成二进制文件
    test:运行调试

      用于运行_text.go文件中的Test开头并且参数为 *testing.T的函数
    tool :运行指定的go工具
    version:查看当前go版本
    vet:查看包中可能出现的错误

  学习资料

    Go语言官网(需要翻墙):https://golang.org/

    Go中文社区:https://studygolang.com

    go中文在线文档:https://studygolang.com/pkgdoc

第一个Go程序

  Hello Go

//go语言以包作为管理单位
//每个文件必须先声明包
//程序必须有一个main包
package main import (
"fmt" )
//入口函数 func main(){ //左括号必须和函数名在同一行
  //打印
  //"hello go"打印到屏幕,Println()会自动换行
  //调用函数,大部分都需要导入包 fmt.Println(
"Hello Go!") }

  命令行运行程序

     1.go build text.go  //编译go代码,生成一个可执行程序,然后运行可执行程序即可

     2.go run text.go  //直接运行程序,不生成可执行文件

    

  

原文地址:https://www.cnblogs.com/bk770466199/p/11721149.html