GO標準包之fmt log

2021-10-03 15:03:15 字數 1216 閱讀 3387

在fmt包中,主要是輸入和輸出

對於輸出:print

有三大類:pringf fprintf sprintf

print fprint sprint

println fprintln sprintln

通過書寫可以看出

第一行的按照格式化文字輸出內容

第二行輸出時不會換行

第三行的會換行

而第一列的是輸出內容到os.stdout

第二列是io.writer

第三列是字串

同樣的對於scan

有三大類 scanf fscanf sscanf

scan fscan sscan

scanln fscanln sscanln

與上面一樣,帶ln結束的是讀取到下一行停止;什麼都不帶的是無限制換行;帶f的是格式化文字輸入

以f開頭的是從io.reader讀取;以s開頭的是從乙個引數字串讀取文字;什麼都不帶得到是從os.stdin讀取文字

log包

通過log的new函式可以得到乙個logger的結構體指標

type logger struct

func

new(out io.writer, prefix string

, flag int

)*logger

}

out中只要實現了io.writer都可以作為out,比如說os檔案流

pfefix可以指定日誌資訊的字首,比如說[debug]等等

flag設定的時間格式,一般使用預設得到lstdflags就可以

logfile, err := os.

openfile

("my.log"

0644

)if err !=

nildefer logfile.

close()

l:=log.

new(logfile,

"", log.lstdflags)

l.println

("test"

)num:=5l.

println

("test %d"

,num)

這樣log包的日誌功能基本上能滿足一般的開發需要,但相對還是比較簡單,缺少日誌分層控制,缺少對json格式的支援等,所以如果有需要靈活定製或大併發、大吞吐量的日誌開發需求,建議考慮使用其他方法或途徑來實現。

go語言標準包之TCP

1.tcpconn 在tcp連線中,服務端是乙個標準的listen和accept結構 在net包中有乙個tcpconn類,用它來作為客戶端和伺服器互動的通道 func c tcpconn write b byte n int,err os.error func c tcpconn read b by...

Go 學習筆記 標準庫之 time 包

go 有很多內建的標準庫,裡面封裝了很多開發中會用到的一些函式,使用這些函式可以簡化 提高開發效率。time 包就是其中之一,它裡面封裝了處理日期時間需要用到的一些功能。今天因為要做乙個功能,稍微了解了一下 time 包,官方文件,暫時先將這個功能裡面需要用到的一些方法記錄下來,以後碰到其他的知識再...

23 Go語言標準庫之time包

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