go語言為什么沒有min/max(int, int)函數(shù)

golang為什么沒有min/max(int, int)函數(shù)

我們知道go語言math包里面定義了min/max函數(shù),但是是float64類型的,而并沒有整數(shù)類型的min/max。

go語言的math包里面定義的min/max函數(shù)如下:

math.Min(float64, float64) float64
math.Max(float64, float64) float64

事實上我們更經(jīng)常要比較的是兩個整數(shù)的場景:

math.Min/Max(int, int), or
math.Min/Max(int64, int64)

那么,為什么go語言不提供整數(shù)類型的min/max這兩個函數(shù)呢? 下面的這篇文章給了一個解釋:

https://mrekucci.blogspot.jp/2015/07/dont-abuse-mathmax-mathmin.html

總結(jié)起來,主要理由是說,

  1. 由于float64類型要處理infinity和not-a-number這種值,而他們的處理非常復(fù)雜,一般用戶沒有能力,所有g(shù)o需要為用戶提供系統(tǒng)級別的解決辦法。
  2. 對于int/int64類型的數(shù)據(jù),min/max的實現(xiàn)非常簡單直接,用戶完全可以自己實現(xiàn),例如:
func Min(x, y int64) int64 {
    if x < y {
        return x
    }
    return y
}

結(jié)論就是說go希望用戶自己來實現(xiàn)如此簡單的函數(shù)。

那么我的問題是:
因為min/max(int, int)的使用也如此的常見,難道需要用戶在每一個自己的項目里面都實現(xiàn)一份min/max的代碼嗎,為什么不放在系統(tǒng)庫例如math里面,方便所有人使用呢?

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語法,類相關(guān)的語法,內(nèi)部類的語法,繼承相關(guān)的語法,異常的語法,線程的語...
    子非魚_t_閱讀 34,740評論 18 399
  • 第1章 第一個C程序第2章 C語言基礎(chǔ)第3章 變量和數(shù)據(jù)類型第4章 順序結(jié)構(gòu)程序設(shè)計第5章 條件結(jié)構(gòu)程序設(shè)計第6章...
    小獅子365閱讀 10,874評論 3 71
  • TF API數(shù)學(xué)計算tf...... :math(1)剛開始先給一個運行實例。tf是基于圖(Graph)的計算系統(tǒng)...
    MachineLP閱讀 4,066評論 0 1
  • 出處---Go編程語言 歡迎來到 Go 編程語言指南。本指南涵蓋了該語言的大部分重要特性 Go 語言的交互式簡介,...
    Tuberose閱讀 18,737評論 1 46
  • 訴經(jīng)佛殿一長天,木香彌漫了浮生。 近來煩事多憂心,如來面前堪負(fù)卿。 有情穿過山和水,輕入圣城閨院門。 奈何薄命多不...
    微風(fēng)細(xì)雨_閱讀 361評論 2 6

友情鏈接更多精彩內(nèi)容