关于Gol语言的概览


Golang

1. go语言概述

Go语言是在2009年11月10日 由Google开源的一门编程语言.号称是"21世纪的C语言"

Go 语言(或称 Golang)是云计算时代的 C 语言。 Go 语言的诞生是为了让程序员有更高的
生产效率, Go 语言专门针对多处理器系统应用程序的编程进行了优化,使用 Go 编译的程
序可以媲美 C 或 C++代码的速度,而且更加安全、支持并行进程。

1.1 golang的语言特点
  • C语言中继承了很多设计理念,如表达式语法,结构控制,基础数据类型,传值,指针

  • 开放源代码 ,Go本身是用Go语言编写的

  • 是静态型和编译型

  • 引入 的概念,用于组织程序结构

  • 自动垃圾回收,一般由Go运行时系统负责

  • 天然支持并发

    • 从语言层面就支持并发,使用很简单

    • goroutine,协程,高效利用CPU

    • 基于CSP并发模型

    • 采用管道通信机制,通过管道channel 实现不同goroutine之间的相互通信

  • 函数可以多返回值

  • 新颖的slice 和defer语句引入

  • go编写的程序可以直接编译成机器码,不依赖其他库,以及跨平台编译

  • 内置强大的工具链

  • 丰富的标准库, 特别是网络库很强大

  • 内嵌C代码支持

  • 语法简单,代码风格强制统一

1.2 go语言适合做什么
  1. 区块链应用
  2. 服务器编程,如: 处理日志,文件系统,数据打包,虚拟机处理
  3. 网络编程 ,如API应用,web应用,下载应用
  4. 分布式系统
  5. 云平台/云服务后端开发
  6. 内存数据库
1.4 go语言学习资料参考
1.4.1 网络资料

Go语言中文网

Go语言中文文档

Go语言标准库中文文档

Go语言圣经(中文版)

Go中国技术社区

Golang技术论坛

1.4.2 推荐书籍

《Go程序设计语言》

《Go语言学习笔记》

《Go并发编程实战》

2. go程序是怎么运行起来的?

2.1 GO语言的开发环境
  1. 无论是Windows 环境或者是Linux环境,亦或是Mac 环境都需要下载Go语言的 SDK ,下载地址如下 Go安装包下载地址 ,具体安装细节参看 安装说明

  2. 安装包安环好之后有两个环境变量需要注意(GO语言开发这两个环境变量一定要配置好)

    1. GOROOT : Go语言SDK的安装路径需要配置到系统环境变量中去
    2. GOAPTH : Go语言项目的存放路径,也就是工作目录
  3. 搭建开发环境

  4. window10 系统 搭建步骤(window10 下搭建相对简单)

  5. golang中国 下载window的安装包(注意是32位还是64位系统)

  6. 下载的安装包可以直接安装(记住自己的安装路径,在配置系统环境变量的时候用到,安装路径尽量不要带中文 )

  7. 配置系统环境变量

  8. Ubuntu18

    1. 下载安装包文件

      wget https://dl.google.com/go/go1.12.7.linux-amd64.tar.gz
      
    2. 安装文件文件

      mv go1.12.7.linux-amd64.tar.gz /opt
      sudo tar -zxvf go1.12.7.linux-amd64.tar.gz
      
    3. 配置Golang环境变量

      vim /etc/profile
      

      使用vim打开profile文件,并在文件内容最末端添加如下内容

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

      重新登录一下再验证golang环境是否安装成功

      go env
      GOARCH="amd64"
      GOBIN=""
      GOCACHE="/home/gong/.cache/go-build"
      GOEXE=""
      GOFLAGS=""
      GOHOSTARCH="amd64"
      GOHOSTOS="linux"
      GOOS="linux"
      GOPATH="/home/gong/goproject"
      GOPROXY=""
      GORACE=""
      GOROOT="/opt/go"
      GOTMPDIR=""
      GOTOOLDIR="/opt/go/pkg/tool/linux_amd64"
      GCCGO="gccgo"
      CC="gcc"
      CXX="g++"
      CGO_ENABLED="1"
      GOMOD=""
      CGO_CFLAGS="-g -O2"
      CGO_CPPFLAGS=""
      CGO_CXXFLAGS="-g -O2"
      CGO_FFLAGS="-g -O2"
      CGO_LDFLAGS="-g -O2"
      PKG_CONFIG="pkg-config"
      GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build199119735=/tmp/go-build -gno-record-gcc-switches"
      
2.2 GOPATH 简单说明
  1. GOPATH设置的工作空间,简单的说工作空间是一个对应特定工程的目录,它通常包含src目录,pkg目录,和bin目录
  2. src目录:用于以代码包的形式组织并保存Go源码文件
  3. pkg目录:用于存放经由go install命令构建安装后的代码包
  4. bin目录:与pkg目录类似,在通过go install命令完成安装后,保存由Go命令源码文件生成的可执行文件。
2.3 go语言标准命令概述
        bug         start a bug report
        build       compile packages and dependencies
        clean       remove object files and cached files
        doc         show documentation for package or symbol
        env         print Go environment information
        fix         update packages to use new APIs
        fmt         gofmt (reformat) package sources
        generate    generate Go files by processing source
        get         download and install packages and dependencies
        install     compile and install packages and dependencies
        list        list packages or modules
        mod         module maintenance
        run         compile and run Go program
        test        test packages
        tool        run specified go tool
        version     print Go version
        vet         report likely mistakes in packages
2.4 第一个go语言程序
  1. GOPATH 指向目录的src目录下新建一个文件,文件名HelloWorld.go ,文件内容如下
package main

// 导入fmt包
import "fmt"

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

  1. 代码片段分析

    1. go语言编写的包含代码的文件的后缀是 .go

    2. package main 每个go源代码文件的开头都是package声明的, 指明该文件属于哪个包,go语言的代码是使用包来组织的,包类似于其他编程语言中的库和模块,一个包由一个或者多个.go的源文件组成,放在一个文件夹中,文件夹的名称一般描述了包的作用

    3. import “fmt” 引入一个叫做"fmt"的包,引入该包之后,可以使用fmt包中的函数,例如:fmt.Println()

    4. func main(){

      } func是一个关键字,表示函数 main是函数名,main函数在go语言中有特殊的作用,main函数表示主函数,也就是整个程序的入口函数

    5. 要生成Go可执行程序,必须建立一个名字为main的包,并且在该包中包含一个叫main()的函数(该函数是Go可执行程序的执行起点

    6. go语言中的main()函数, 不能传递参数,也不能定义返回值

    7. go语言程序中的注释有两种

    8. 一种是 /* 块注释 */

    9. 另一种是 // 行注释

  2. 在cli 命令行下执行

$ go run HelloWorld.go
hello world
  1. 通过 go run 命令可以直接运行 .go程序(类似执行一个脚本)
  2. 通过 go build 命令可以对 .go文件进行编译,生成.exe文件
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值