1aebe70e76339eaf4595e0def58d97e1
Go 初见

一、概述

Go 是一个开源的编程语言,它能让构造简单、可靠且高效的软件变得容易。
Go 是从2007年末由 Robert Griesemer, Rob Pike, Ken Thompson 主持开发,后来还加入了 Ian Lance Taylor, Russ Cox 等人,并最终于2009年11月开源,在2012年早些时候发布了 Go 1 稳定版本。现在 Go 的开发已经是完全开放的,并且拥有一个活跃的社区。

二、特性

  • 自动垃圾回收
  • 更丰富的内置类型
  • 函数多返回值
  • 错误处理
  • 匿名函数和闭包
  • 类型和接口
  • 并发编程
  • 反射
  • 语言交互性
  • 安全
  • 开源

三、用途

Go 语言被设计成一门应用于搭载 Web 服务器,存储集群或类似用途的巨型中央服务器的系统编程语言。
对于高性能分布式系统领域而言,Go 语言无疑比大多数其它语言有着更高的开发效率。它提供了海量并行的支持,这对于游戏服务端的开发而言是再好不过了。

四、环境安装

  1. 前往 https://golang.org/dl/ 下载安装包并安装
  2. 将 /usr/local/go/bin 目录添加至PATH环境变量:
    export PATH=$PATH:/usr/local/go/bin
  3. 验证
$ go version
go version go1.11.2 darwin/amd64

五、IDE

本人习惯使用 VSCode,搜索并安装 Go 插件即可。

六、实例

熟悉一个新事物最快的方法莫过于实例。下面我们就动手实践一个 Web 服务器。
注: 后续的实例代码都会放在 https://github.com/CatchZeng/go-demos

  1. 新建 web-server 文件夹,用于存储实例代码

  2. 新建 main.go 文件

  3. 填写代码

    package main
    
    import (
     "fmt"
     "log"
     "net/http"
    )
    
    func main() {
     http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
         fmt.Fprintf(w, "Hello Wrold!")
     })
    
     //监听 8080 端口
     err := http.ListenAndServe(":8080", nil)
     if err != nil {
         log.Fatal("ListenAndServe: ", err)
     }
    }
  4. 运行
    $ go run main.go

七、回顾

1、Go 基础组成

  • 包声明
  • 引入包
top Created with Sketch.