1. Go基礎(chǔ)認識
1.1 Go誕生的原因
- (1) 當前的編程語言對于并發(fā)支持不是很友好,不能很好發(fā)揮多核CPU的性能
- (2) 程序規(guī)模越來越大,編譯的速度很慢,解決快速編譯程序是迫切的需求
- (3) 現(xiàn)有的編程語言設(shè)計很復雜,由于歷史的原因,有一些特性設(shè)計很不優(yōu)雅,程序員費更多精力關(guān)注語法細節(jié)而不是問題的本身
1.2 Go語言的特性
相比其他高級語言,Go的有一些特性是不能比的
- 支持靜態(tài)類型和運行時的動態(tài)類型,還支持隱式類型推導
- 支持type自定義類型
- 類型組合支持面向?qū)ο?/li>
- 接口支持Duck模型
- 直接編譯成可執(zhí)行程序
- 直接基于OS的運行
- 支持自動垃圾回收
- 語言原生支持并發(fā)
- 支持交叉編譯
- 支持跨平臺
2. Go詞法單元
2.1 token

yuque_diagram.png
2.2 關(guān)鍵字
引導程序整體結(jié)構(gòu)
package:定義包名
import:導入包名
const:常量聲明
var:變量聲明
func:函數(shù)定義
defer:延遲執(zhí)行
go:并發(fā)語法糖
return:函數(shù)返回
聲明符合數(shù)據(jù)結(jié)構(gòu)
struct:定義結(jié)構(gòu)類型
interface:定義接口類型
map:聲明或者創(chuàng)建map類型
chan:聲明或者創(chuàng)建通道類型
控制程序結(jié)構(gòu)
if else:條件分支
for range break continue:循環(huán)
switch select type case default fallthrough:switch和select語句
goto:跳轉(zhuǎn)語句
參考<<Go語言核心編程>>