1. 程式人生 > >go的log(一):Golang 標準庫提供的log

go的log(一):Golang 標準庫提供的log

go的log(一):Golang 標準庫提供的log 

Golang的標準庫提供了log的機制,但是該模組的功能較為簡單(看似簡單,其實他有他的設計思路)。不過比手寫fmt. Printxxx還是強很多的。至少在輸出的位置做了執行緒安全的保護。其官方手冊見Golang log 。這裡給出一個簡單使用的例子:

1 2 3 4 5 6 7 package  main import  (      "log" ) func main(){     
log.Fatal( "Come with fatal,exit with 1 \n" ) }

編譯執行後,會看到程式列印了 Come with fatal,exit with 1 然後就退出了,如果用 echo $? 檢視退出碼,會發現是 “1”。

一般介面

Golang's log模組主要提供了3類介面。分別是 “Print 、Panic 、Fatal ”。當然是用前先包含log包。

1 2 3 import (      "log" )

為了方便是用,Golang和Python一樣,在提供介面時,提供一個簡單的包級別的使用介面。不同於Python,其輸出預設定位到標準錯誤 可以通過SetOutput 進行修改。

對每一類介面其提供了3中呼叫方式,分別是 "Xxxx 、 Xxxxln 、Xxxxf" 比如對於Print就有:

1 2 3 log.Print log.Printf log.Println
  • log.Print :表示其引數的呼叫方式和 fmt.Print 是類似的,即輸出物件而不用給定特別的標誌符號。

  • log.Printf : 表示其引數的呼叫方式和 fmt.Printf 是類似的,即可以用C系列的格式化標誌表示輸出物件的型別,具體型別表示 可以參考fmt.Printf的文件

  • log.Println: 表示其呼叫方式和fmt.Println 類似,其和log.Print基本一致,僅僅是在輸出的時候多輸出一個換行

這裡是以 “Print”來具體說明的,對於“Panic”和“Fatal”也是一樣的。下面再以"Print"為例,看下呼叫方式:

1 2 3 4 5 6 7 8 9 10 package  main import  (      "log" ) func main(){      arr := [] int  { 2 , 3 }      log.Print( "Print array " ,arr, "\n" )      log.Println( "Println array" ,arr)      log.Printf( "Printf array with item [%d,%d]\n" ,arr[ 0 ],arr[ 1 ]) }

會得到如下結果:

1 2 3 2014 / 05 / 02  12 : 27 : 19  Print array [ 2  3 ] 2014 / 05 / 02  12 : 27 : 19  Println array [ 2  3 ] 2014 / 05 / 02  12 : 27 : 19  Printf array  with  item [ 2 , 3

相關推薦

go的log()Golang 標準提供log

go的log(一):Golang 標準庫提供的log  Golang的標準庫提供了log的機制,但是該模組的功能較為簡單(看似簡單,其實他有他的設計思路)。不過比手寫fmt. Printxxx還是強很多的。至少在輸出的位置做了執行緒安全的保護。其官方手冊見Go

數據概述

ces msql mysql 維表 數據庫管理 基於內存 sele lec 相關 1. 什麽是數據庫? 數據庫(DataBase,DB):是指存儲數據的倉庫;存儲、維護和管理數據的集合。 數據庫管理系統(DataBase Manangement System,DBMS):專

自我學習 C 標準 - stdarg.h

自我學習: C 標準庫 – <stdarg.h> 維基百科上對此標準庫的介紹是 stdarg.h is a header in the C standard library of the C programming language that allows functions to

第9章Python標準概覽

註明:本系列課程專為全國計算機等級考試二級 Python 語言程式設計考試服務 目錄 考綱考點 知識導圖 1、turtle庫概述 turtle庫與基本繪圖 窗體函式 畫筆狀態函式 畫筆運動函式 2、random庫概述 random庫與隨機數運用 3、t

go實現高效tcp伺服器(適合短連線)類似fasthttp,長連線的每個連線分配個協程(標準中的http)

package main import ( "fmt" "net" "os" "time" ) const ( MAX_CONN_NUM = 10 ) //服務處理函式,如果處理過程過於複雜,可以啟動一定量的協程來做(協程

golang標準中的encoding/gob包

1、golang中的gob包是什麼?2、go標準庫中的gob編碼規則3、gob包給開發者提供了什麼內容?以及怎麼使用?4、gob的目的是什麼?以及應用場景有哪些? 一、golang中的gob包是什麼?gob是golang包自帶的一個數據結構序列化的編碼/解碼工具。 二、go標準庫中的gob編碼規則當發生方

Python 學習001day——標準

Python 學習:001day——標準庫 Python 標準庫包含超大量的實用模組,同時其實是每個 Python 標準安裝的一部分。 os模組 os模組提供了不少與作業系統相關聯的函式。 glob模組 glob模組提供了一個函式用於從目錄萬用字元搜尋中生成檔案列表:

C++基礎C++標準之棧(stack)和佇列(queue)

在C++標準庫(STL)中,實現了棧和佇列,方便使用,並提供了若干方法。以下作簡要介紹。 1、棧(stack)說明及舉例: 使用棧,要先包含標頭檔案 : #include<stack> 定義棧,以如下形式實現: stack<Type> s; 其中Ty

C++C++標準中的關聯式容器Map

Map每個元素都是 key/value pair ,其中key是排序準則的基準。每個key只能出現一次,不允許重複。Map 也可被視為一種關聯式陣列,也就是“索引可為任意型別”的陣列。 以具體的兩個例子解釋什麼是map 例項一 #include "pch.h" #include

C++標準提供的complex定義的複數物件學習筆記

complex類可以定義多種資料型別的複數,其實部和虛部的資料型別可以是整數也可以是實數,即complex類是一個模板類,定義複數物件時,才指明資料成員型別,格式為: complex<資料型別> 物件名稱(實部值,虛部值); #include <iostr

golang標準 context的使用

可能 book 退出 就是 固然 sele pri type 但是 本文索引 問題引入 context包簡介 示例 問題引入 goroutine為我們提供了輕量級的並發實現,作為golang最大的亮點之一更是備受推崇。 gorou

C++基礎C++標準之map簡介

1、綜述         Map是C++STL中眾多的Container(容器)之一,與python的字典略類似,Map作為一個關聯容器,將key與value相互關聯,其中key為關鍵字,是不可更改的,而value是key值的相對應值。Map所提供的一對一的資料對映關係,在

Golang標準RPC實踐及改進

轉載自:http://daizuozhuo.github.io/golang-rpc-practice/ 一直用Golang標準庫裡的的RPC package來進行遠端呼叫,簡單好用. 但是隨著任務數量的增大, 發現簡單的像包裡面的示例那樣的程式碼出現了各種各

本超越期待的 C++ 書——簡評《Boost程式完全開發指南深入C++“準”標準

賴勇浩(http://laiyonghao.com) 作為一個時不時要用一點 C++ 的程式設計師,我常常自嘲為斯德哥爾摩綜合症患者,用 Python 寫著懶散的程式碼時,會懷念以前編寫 C++ 程式碼的那種被虐感。但當真正要寫一些 C++ 程式碼的時候,又會懷念 Pytho

golang之string標準()

1:Contains(s,substr string) bool:字串s是否包含substr,包含返回true,不包含返回false flag := strings.Contains("hello world", "wor") if flag

C標準提供的助手函式字串替換

/************************ (C) COPYRIGHT 2015 Gizwits ****************************  * @file              : strrpl.h  * @author            

python 標準numpy使用

從經典的101個numpy練習中總結:1、numpy:python拓展包,可以用於處理大型矩陣,有足夠的函式庫以及線性轉換函式,有許多高階的數值運算工具:import numpy as np print(np.__version__)2、基礎操作:numpy陣列類是numpy

標準算法實現

emp dir ont sea true start urn find ssp 1.max(x,y) 2.find(b,e,t) 3.find_if(b,e,p) 4.search(b,e,b2,e2) 5.remove(b,e,t) 6.copy(b,e,d) 7.r

Oracle數據遷移方式impdp+dblink

oracle數據庫遷移 impdp+dblink 實驗環境:源庫: 192.168.2.200 SID=testdb目標庫:192.168.2.100 SID=testdb實驗目的:使用impdp+dblink的方式 將192.168.2.200數據庫上的jtrms用戶的所有數據導入到目標數據庫

Python標準內置函數all(iterable)

blog ack div class pos true pop 使用 實現 假設可叠代的對象的所有元素所有非空(或者空叠代對象),就返回True。這個函數主要用來推斷列表、元組、字典等對象是否有空元素。比方有10000個元素的列表,假設沒有提供此函數,須要使用循環來實現