Golang中println和fmt.Println區(qū)別解析
Golang 中打印數(shù)據(jù)通常使用 fmt.Println() 方法,也可以使用內置的 println() 方法。這兩個方法大家可能都使用過,它們的區(qū)別是什么呢?
println()
先看下 println() 方法的注釋:
// The println built-in function formats its arguments in an // implementation-specific way and writes the result to standard error. // Spaces are always added between arguments and a newline is appended. // Println is useful for bootstrapping and debugging; it is not guaranteed // to stay in the language.
可以看出 println() 是內置方法,屬于builtin 包(builtin包是Golang預聲明的包,不需要 import 即可使用),可以傳入多個Type類型(pointer、channel、func、 interface、map和slice 類型)參數(shù),將結果寫入標準錯誤。主要用于調試,不保證在未來的 Golang 版本中還保留此方法。
fmt.println()
再看下 fmt.println() 的注釋:
// Println formats using the default formats for its operands and writes to standard output. // Spaces are always added between operands and a newline is appended. // It returns the number of bytes written and any write error encountered
可以看出 fmt.println() 屬于 fmt 包,可以傳入多個 interface 類型的參數(shù),將結果寫入標準輸出。返回兩個參數(shù)——寫入的字節(jié)數(shù)和error。
println() 和 fmt.println() 的區(qū)別
通過上面的注釋和說明可以看出如下區(qū)別:
所屬的包不同。println() 屬于 builtin 包,fmt.println() 屬于 fmt 包。
輸出方式不同。println() 輸出到標準錯誤(STDERR),fmt.println() 輸出到標出輸出(STDOUT)。
返回值不同。println()無返回值,fmt.println()有兩個返回值——寫入的字節(jié)數(shù)和error。
println() 輸出結果可能與預期結果順序不一致,而 fmt.Println() 輸出結果與預期結果完全一致(這個特性是由標準錯誤和標準輸出的特性決定的)。
println() 不能傳入數(shù)組和結構體類型的參數(shù)。
對于組合類型的參數(shù),println() 輸出的結果是參數(shù)的地址,而 fmt.Println() 輸出的結果是字面量。
到此這篇關于Golang中println和fmt.Println有什么區(qū)別嗎?的文章就介紹到這了,更多相關Golang println和fmt.Println區(qū)別內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
基于go interface{}==nil 的幾種坑及原理分析
這篇文章主要介紹了基于go interface{}==nil 的幾種坑及原理分析,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-04-04Go語言配置數(shù)據(jù)庫連接池的實現(xiàn)
本文內容我們將解釋連接池背后是如何工作的,并探索如何配置數(shù)據(jù)庫能改變或優(yōu)化其性能。文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-12-12Go語言Gin框架中使用MySQL數(shù)據(jù)庫的三種方式
本文主要介紹了Go語言Gin框架中使用MySQL數(shù)據(jù)庫的三種方式,通過三種方式實現(xiàn)增刪改查的操作,具有一定的參考價值,感興趣的可以了解一下2023-11-11golang通過node_exporter監(jiān)控GPU及cpu頻率、溫度的代碼
node_exporter這個開源組件是配合prometheus收集主機操作系統(tǒng)層的metrics的常用組件,但是官方?jīng)]有提供GPU卡的metrics的采集,今天通過本文給大家介紹golang通過node_exporter監(jiān)控GPU及cpu頻率、溫度的相關知識,感興趣的朋友一起看看吧2022-05-05