1. Go基礎認識
1.1 Go誕生的原因
- (1) 當前的編程語言對于并發支持不是很友好,不能很好發揮多核CPU的性能
- (2) 程序規模越來越大,編譯的速度很慢,解決快速編譯程序是迫切的需求
- (3) 現有的編程語言設計很復雜,由于歷史的原因,有一些特性設計很不優雅,程序員費更多精力關注語法細節而不是問題的本身
1.2 Go語言的特性
相比其他高級語言,Go的有一些特性是不能比的
- 支持靜態類型和運行時的動態類型,還支持隱式類型推導
- 支持type自定義類型
- 類型組合支持面向對象
- 接口支持Duck模型
- 直接編譯成可執行程序
- 直接基于OS的運行
- 支持自動垃圾回收
- 語言原生支持并發
- 支持交叉編譯
- 支持跨平臺
2. Go詞法單元
2.1 token
yuque_diagram.png
2.2 關鍵字
引導程序整體結構
package:定義包名
import:導入包名
const:常量聲明
var:變量聲明
func:函數定義
defer:延遲執行
go:并發語法糖
return:函數返回
聲明符合數據結構
struct:定義結構類型
interface:定義接口類型
map:聲明或者創建map類型
chan:聲明或者創建通道類型
控制程序結構
if else:條件分支
for range break continue:循環
switch select type case default fallthrough:switch和select語句
goto:跳轉語句
參考<<Go語言核心編程>>