Go 环境搭建

根据平台环境在官网下载最新版本安装包即可,然后配置环境变量:GOPATH,GOROOT

官网教程:golang.org

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

第一句代码

package main

import (
    "fmt"
)

func main(){
    fmt.Println("hello, golang~")
}

 

Go 语言特性

垃圾回收

  • 内存自动回收,不需要开发人员进行内存管理
  • 专注业务实现,降低心智负担
  • 只需要 new 分配内存,不需要释放

天然并发

  • 从语言层面上支持并发,非常简单
  • goroute 轻量级线程,创建成千上万个 goroute 成为可能
  • 基于 CSP(Communicating  Sequential  Process)模型实现

channel

  • 管道,类似于 unix / linux 中的 pipe
  • 多个 goroute 之间通过 channel 进行通信
  • 支持任何类
    func main(){
      pipe := make(chan int, 2)
      pipe <- 1
      pipe <- 2
    }

多返回值

一个函数多返回值

package main

import (
    "fmt"
)

func calc(a int, b int) (int, int) {
    sum := a + b
    avg := (a + b) / 2
    return sum, avg
}

func main(){
    sum, avg := calc(100, 200)
    fmt.Println("sum", sum, "avg", avg)
}

 

包的概念

  1. 和 python 一样,把相同功能的代码放在一个目录,称之为包
  2. 包可以被其它包引用(包内文件中定义的函数名首字母需大写,否则不能被其它包应用)
  3. main 包用来生成可执行文件,每个程序只有一个 main 包
  4. 包的主要作用是提高代码的可复用性

 

作业

使用 fmt 分别打印字符串,二进制,十进制,十六进制,浮点数

 

 

 

 

 

 

 

 

 

  

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄