一、gin簡介 Gin 是一個用 Go (Golang) 編寫的 HTTP web 框架。 它是一個類似于 martini 但擁有更好性能的 API 框架,由于 httpro...
一、模板和模板引擎 在基于MVC的web架構中,我們常常將不變的部分提出成為模板,可變部分通過后端程序提供數據,借助模板引擎渲染來生成動態網頁。 模板可以理解為事先定義好的H...
一、go中HTTP服務處理流程 超文本傳輸協議(HTTP,Hyper Text Transfer Protocol)是互聯網上應用最為廣泛的一種網絡傳輸協議,所有的WWW文件...
一、UDP協議 UDP協議(User Datagram Protocol)中文名稱是用戶數據報協議,是OSI(Open System Interconnection,開放式系...
一、go語言實現TCP通信 TCP/IP(Transmission Control Protocol/Internet Protocol) 即傳輸控制協議/網間協議,是一種面...
一、TCP/IP協議 計算機與網絡設備要相互通信,雙方就必須基于相同的方法。比如,如何探測到通信目標、由哪一邊先發起通信、使用哪種語言進行通信、怎樣結束通信等規則都需要事先確...
time包提供了時間的顯示和測量用的函數。日歷的計算采用的是公歷。 一、時間類型 go語言源碼: 通過time包的time.Now()函數獲取當前時間的時間對象,進而可以調用...
一、File文件操作 file類是在os包中的,封裝了底層的文件描述符和相關信息,同時封裝了Read和Write的實現。 1、FileInfo接口 FileInfo接口中定義...
一、認識反射 維基百科中的定義:在計算機科學中,反射是指計算機程序在運行時(Run time)可以訪問、檢測和修改它本身狀態或行為的一種能力。用比喻來說,反射就是程序在運行的...
通道channel被認為是goroutine通信的管道。類似于水管里的水可以從一端流向另一端,數據可以從一端發送到另一端,通過通道接收。 當多個goroutine間想實現共享...
一、兩個問題 1、同步執行問題 主線程為了等待所有的子goroutine都運行完畢,不得不在程序中使用time.Sleep() 來睡眠一段時間,等待其他線程充分運行。這種方式...
一、什么是goroutine Goroutine是Go語言特有的名詞。區別于進程Process,線程Thread,協程Coroutine,因為Go語言的創造者們覺得和他們是有...
一、并發性Concurrency 1、多任務 多任務是操作系統可以同時執行多個任務。如,可以一邊聽音樂,一邊刷微博,一邊聊QQ,還能同時開微信。這就是多任務同時運行。 2、線...
一、錯誤和異常的區別 錯誤指的是可能出現問題的地方出現了問題。比如打開一個文件時失敗,這種情況在人們的意料之中 。 異常指的是不應該出現問題的地方出現了問題。比如引用了空指針...
type是go語法里的重要而且常用的關鍵字,type絕不只是對應于C/C++中的typedef。搞清楚type的使用,就容易理解go語言中的核心概念struct、interf...
go并不是一個純面向對象的編程語言。在go中的面向對象,結構體替換了類。go并沒有提供類class,但是它提供了結構體struct,方法method可以在結構體上添加。提供了...
面向對象世界中的接口的一般定義是“接口定義對象的行為”。它表示讓指定對象應該做什么。實現這種行為的方法(實現細節)是針對對象的。 在Go中,接口是一組方法簽名。當類型為接口中...