## Go語言簡介
Go語言(或 Golang)起源于 2007 年,并在 2009 年正式對外發布。Go 是非常年輕的一門語言,它的主要目標是“兼具`Python`等動態語言的開發速度和 `C/C++`等編譯型語言的性能與安全性”。**Go語言沒有類和繼承的概念**,所以它和`Java`或 `C++ `看起來并不相同。**但是它通過接口(interface)的概念來實現多態性**。Go語言有一個清晰易懂的輕量級類型系統,在類型之間也沒有層級之說。因此可以說Go語言是一門混合型的語言。
此外,很多重要的開源項目都是使用Go語言開發的,其中包括`Docker`、`Go-Ethereum、Thrraform` 和 `Kubernetes`。
>Go語言出自 Ken Thompson 和?Rob Pike、Robert Griesemer?之手,他們都是計算機科學領域的重量級人物。
## Go語言的特性
* 語法簡單
其語法類似于C語言,同時又融合了其他編程語言的優點
* 并發模型
Goroutine 是 Go 最顯著的特征。它用類協程的方式來處理并發單元,卻又在運行時層面做了更深度的優化處理。這使得語法上的并發編程變得極為容易,無須處理回調,無須關注線程切換,僅一個關鍵字,簡單而自然。可以說Go語言為并發而生
* 內存分配
將一切并發化固然是好,但帶來的問題同樣很多。如何實現高并發下的內存分配和管理就是個難題。好在 Go 選擇了 tcmalloc,它本就是為并發而設計的高性能內存分配組件。
* 靜態鏈接
編寫完Go項目程序后,只需要編譯成目標操作系統的可執行文件,即可在對應的平臺上執行,無須依賴任何運行庫。
* 生態圈
Go語言有著豐富的標準庫,這些功能完善、質量可靠的內置標準庫為開發者提供了極大的便利,比如在微服務領域中廣泛使用的明星產品有Docker、nsq、etcd等。
- 前言
- go介紹
- 準備工作
- go 環境搭建
- Go入門基礎
- 基礎語法
- 數據類型
- 基本數據類型
- 復核類型
- 函數
- 常用內置包
- 指針
- 面向對象編程
- 結構體
- 接口
- 反射
- 單元測試
- 日志處理
- Go 進階挑戰
- GoWeb開發
- HelloWorld
- HTTP的概念
- HTTP請求方法
- HTTPS通信原理
- HTTP2
- Server 端啟動的幾種方式
- Server 端路由的幾種方式
- Http請求
- Go 模板引擎
- Header
- Cookie
- Session
- Go-Mysql
- Go-orm庫
- gorm
- xorm
- beego-orm
- Go-Redis
- Redis 介紹
- Redis 入門
- Go-操作Redis
- Go-MongoDB
- MongoDB 介紹
- MongoDB 入門
- Go-操作MongoDB
- Go 高級應用
- Socket編程
- Socket 介紹
- Go Socket編程
- 文件處理
- 目錄操作
- 文件操作
- XML 操作
- JSON操作
- 并發編程
- goroutine與channel
- sync
- Web 框架
- Beego框架
- beego-init
- beego-api
- Gin框架
- Echo框架
- Iris框架
- Go實戰
- Beego 仿小米后端服務
- 實戰項目介紹
- 初始化項目
- 接口改造
- model改造
- 中間件配置
- 通用組件
- Gin 仿小米后端服務
- 項目實戰介紹
- 初始化項目
- 接口改造
- model 改造
- 登錄認證攔截
- 微服務
- 微服務介紹
- 容器化
- docker
- docker 介紹
- docker 安裝
- docker 基本操作
- docker compose安裝
- docker 安裝MongoDB
- docker 安裝mysql
- docker 安裝redis
- Kubernetes
- Kubernetes 介紹
- Kubernetes 環境搭建
- Mac 安裝 Kubernetes
- Windows 安裝Kubernetes