一架梯子,一头程序猿,仰望星空!

go语言教程


GO语言是google推出的一种全新的编程语言,它拥有表现力强、简洁、干净、高性能的特点。它的并发机制使得我们很容易编写出利用多核特性的程序。GO可以快速编译成机器代码,支持内存垃圾回收机制。它是一种快速、静态类型的编译型语言,但是用起来像一种动态类型的解释性语言。

GO语言应用场景

因为go语言的简单和高性能(性能接近C/C++)特点,目前主要应用场景如下:

  • 中间件开发
  • web开发
  • 微服务开发
  • 游戏服务端以及其他服务端应用

GO 语言代码结构

下面通过一个例子看看go语言代码长什么样子。

提示:大家不必在意这里代码的具体语法,后续章节会介绍go语言的语法,大家只要大致了解下代码长什么样子即可。

// 定义包, 一个程序通常只有一个main包,作为程序的入口
package main

// 导入包,这里导入fmt包
import "fmt"

// 通过func关键字定义函数
// 这里定义的是程序的入口函数main, 程序从这个函数开始执行
// 通常一个程序是有一个main函数
func main() {
    // 调用fmt包的Println函数,打印一个字符串。
    fmt.Println("Hello, tizi365")
}

运行这个程序会在控制台窗口输出:Hello, tizi365

下面在看一下go语言并发编程的例子:

package main
// 导入两个包fmt和time
import (
	"fmt"
	"time"
)

// 定义一个say函数,接受一个字符串参数s
// 这个函数的作用就是循环打印5次字符串参数s
func say(s string) {
        // 循环5次
	for i := 0; i < 5; i++ {
                // 协程休眠100毫秒
		time.Sleep(100 * time.Millisecond)
                // 打印字符串s
		fmt.Println(s)
	}
}

// 入口函数main
func main() {
        // 通过go关键词,开启一个新的协程执行say函数
	go say("world")
        // main函数继续执行say函数,这里其实是在主协程执行
	say("hello")
}

go语言的协程,大家可以简单的理解成轻量级的线程,只要 一个关键词go,就可以开启一个协程并发的执行任务,默认情况下执行go语言程序会开启一个协程运行main函数,这个协程通常称为主协程,类似java的主线程,上面例子其实有两个协程在并发运行。