1. 发展背景

  • 多核硬件架构
  • 超大规模分布式计算集群
  • Web 模式导致的前所未有的开发规模和更新速度

    2. Go语言介绍

  • 创始人

    • Rob Pike —- Unix 开发者,UTF-8创始人
    • Ken Theompson —- Unix创始人、C语言创始人、1983年图灵奖获得者
    • Rebert Griesemer —- Google V8 Engine、Hot Spot开发者
  • Go特点

    • 简单: Go 25个关键字(C 37,C++ 84)
    • 高效: 垃圾回收、指针
    • 生产力:Go仅支持复合
    • 云计算语言:docker,kubernetes
    • 区块链语言:ethereum、hyperledger

      3. HelloWorld

  • 程序入口

    • 必须是main包:_package _main
    • 必须是main方法:_func _main()
    • 文件名不一定是:main.go
  • 退出返回值
    • main函数支持返回值
    • 通过os.Exit()实现返回值:os.Exit(0)
  • 命令行参数

main不带参数,第一个参数是可执行文件名,第二个参数开始是命令后跟的参数

  1. fmt.Println(os.Args)
  2. if len(os.Args)>1 {
  3. fmt.Println(os.Args[1])
  4. }

4. 测试程序

  • 源码文件以_test结尾:xxx_test.go
  • 测试方法名以Test开头: ```go package try_test

import “testing”

func TestFirstTry(t *testing.T) { t.Log(“my first try!”) } ``` image.png
image.png

5. 所学所悟

Go确实非常简洁,无论是程序入口的main程序的约定,还是构件一个单元测试,相对于java等语言,简单了太多。