go常用包簡介

2021-10-20 06:46:39 字數 1906 閱讀 5918

一、go 標準庫可以大致按其中庫的功能進行以下粗略的分類

輸入輸出。這個分類包括二進位制以及文字格式在螢幕、鍵盤、檔案以及其他裝置上的輸

入輸出等,比如二進位制檔案的讀寫。對應於此分類的包有bufio、 fmt、 io、 log和flag

等,其中 flag 用於處理命令列引數。

文字處理。這個分類包括字串和文字內容的處理,比如字元編碼轉換等。對應於此分

類的包有encoding、 bytes、 strings、 strconv、 text、 mime、 unicode、 regexp、

index和path等。其中path用於處理路徑字串。

網路。這個分類包括開發網路程式所需要的包,比如socket程式設計和**開發等。對應於此

分類的包有: net、 http和expvar等。

系統。這個分類包含對系統功能的封裝,比如對作業系統的互動以及原子性操作等。對

應於此分類的包有os、 syscall、 sync、 time和unsafe等。

資料結構與演算法。對應於此分類的包有math、 sort、 container、 crypto、 hash、

archive、 compress和image等。因為image包裡提供的影象編譯碼都是演算法,所以也

歸入此類。

執行時。對應於此分類的包有: runtime、 reflect和go等。

二、常用包介紹

這裡介紹go語言標準庫里使用頻率相對較高的一些包 (如下):

fmt。它實現了格式化的輸入輸出操作,其中的fmt.printf()和fmt.println()是開

發者使用最為頻繁的函式。

io。它實現了一系列非平台相關的io相關介面和實現,比如提供了對os中系統相關的io

功能的封裝。我們在進行流式讀寫(比如讀寫檔案)時,通常會用到該包。

bufio。它在io的基礎上提供了快取功能。在具備了快取功能後, bufio可以比較方便地

提供readline之類的操作。

strconv。本包提供字串與基本資料型別互轉的能力。

os。本包提供了對作業系統功能的非平台相關訪問介面。介面為unix風格。提供的功能

包括檔案操作、程序管理、訊號和使用者賬號等。

sync。它提供了基本的同步原語。在多個goroutine訪問共享資源的時候,需要使用sync

中提供的鎖機制。

flag。它提供命令列引數的規則定義和傳入引數解析的功能。絕大部分的命令列程式都

需要用到這個包。

encoding/json。 json目前廣泛用做網路程式中的通訊格式。本包提供了對json的基

本支援,比如從乙個物件序列化為json字串,或者從json字串反序列化出乙個具體

的物件等。

http。它是乙個強大而易用的包,也是golang語言是一門「網際網路語言」的最好佐證。通

過http包,只需要數行**,即可實現乙個爬蟲或者乙個web伺服器,這在傳統語言中

是無法想象的。

三、完整包列表

8 4 Go語言常用內建包簡介

標準的go語言 庫中包含了大量的包,並且在安裝 go 的時候多數會自動安裝到系統中。我們可以在 goroot src pkg 目錄中檢視這些包。下面簡單介紹一些我們開發中常用的包。1 fmt fmt 包實現了格式化的標準輸入輸出,這與c語言中的 printf 和 scanf 類似。其中的 fmt.p...

go語言時間time包常用方法

時間和日期是我們程式設計中經常會用到的,本文主要介紹了go語言內建的time包的基本用法。time包提供了時間的顯示和測量用的函式。日曆的計算採用的是公曆。time.time型別表示時間。我們可以通過time.now 函式獲取當前的時間物件,然後獲取時間物件的年月日時分秒等資訊。示例 如下 func...

一 go語言簡介

go 是乙個開源的程式語言,它能讓構造簡單 可靠且高效的軟體變得容易。go是從2007年末由robert griesemer,rob pike,ken thompson主持開發,後來還加入了ian lance taylor,russ cox等人,並最終於2009年11月開源,在2012年早些時候發布...