在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...