最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Go語言標(biāo)準(zhǔn)庫中math模塊詳細(xì)功能介紹與示例代碼

 更新時(shí)間:2025年03月29日 11:16:55   作者:demonlg0112  
Go語言的標(biāo)準(zhǔn)庫math提供了一系列基礎(chǔ)數(shù)學(xué)函數(shù)和常量,用于進(jìn)行科學(xué)計(jì)算、幾何計(jì)算和其他數(shù)學(xué)相關(guān)的操作,這篇文章主要介紹了Go語言標(biāo)準(zhǔn)庫中math模塊詳細(xì)功能介紹與示例代碼,需要的朋友可以參考下

Go語言的 math 模塊提供了豐富的數(shù)學(xué)函數(shù)和常量,涵蓋基本運(yùn)算、三角函數(shù)、指數(shù)、對數(shù)、取整、特殊值等。以下是核心方法及示例說明:

1. 基本數(shù)學(xué)運(yùn)算

math.Abs

取絕對值(僅 float64)。

fmt.Println(math.Abs(-3.5))   // 輸出: 3.5
fmt.Println(math.Abs(4))      // 錯(cuò)誤!需用 math.Abs(4.0)

math.Mod 和 math.Remainder

  • Mod:取余數(shù)(符號與除數(shù)相同)。
  • Remainder:IEEE 754 標(biāo)準(zhǔn)余數(shù)(符號與被除數(shù)相同)。
fmt.Println(math.Mod(10, 3))        // 輸出: 1
fmt.Println(math.Remainder(10, 3))  // 輸出: 1
fmt.Println(math.Mod(-10, 3))       // 輸出: -1
fmt.Println(math.Remainder(-10, 3)) // 輸出: -1

math.Cbrt 和 math.Sqrt

立方根和平方根。

fmt.Println(math.Sqrt(16))  // 輸出: 4
fmt.Println(math.Cbrt(27))  // 輸出: 3

2. 三角函數(shù)

所有函數(shù)參數(shù)為弧度(非角度)。

math.Sin、math.Cos、math.Tan

rad := math.Pi / 2
fmt.Println(math.Sin(rad))  // 輸出: 1(近似值)
fmt.Println(math.Cos(rad))  // 輸出: 6.123e-17(接近0)

math.Asin、math.Acos、math.Atan

反三角函數(shù)(返回弧度)。

fmt.Println(math.Asin(1))  // 輸出: 1.5708(π/2)

3. 指數(shù)與對數(shù)

math.Exp 和 math.Log

自然指數(shù)和對數(shù)。

fmt.Println(math.Exp(2))     // 輸出: ~7.389(e2)
fmt.Println(math.Log(7.389)) // 輸出: ~2

math.Pow 和 math.Pow10

冪運(yùn)算。

fmt.Println(math.Pow(2, 3))    // 輸出: 8
fmt.Println(math.Pow10(3))     // 輸出: 1000

math.Log10 和 math.Log2

以10或2為底的對數(shù)。

fmt.Println(math.Log10(1000))  // 輸出: 3
fmt.Println(math.Log2(8))      // 輸出: 3

4. 取整與截?cái)?/h2>

math.Ceil 和 math.Floor

向上和向下取整。

fmt.Println(math.Ceil(3.2))   // 輸出: 4
fmt.Println(math.Floor(3.9))  // 輸出: 3

math.Trunc

直接截?cái)嘈?shù)部分。

fmt.Println(math.Trunc(3.9))  // 輸出: 3

math.Round 和 math.RoundToEven

四舍五入(RoundToEven 向最近的偶數(shù)舍入)。

fmt.Println(math.Round(2.5))          // 輸出: 3
fmt.Println(math.RoundToEven(2.5))    // 輸出: 2

5. 最大值與最小值

math.Max 和 math.Min

返回兩個(gè) float64 值的最大或最小值。

fmt.Println(math.Max(3, 5))  // 輸出: 5
fmt.Println(math.Min(3, 5))  // 輸出: 3

6. 特殊值處理

math.IsNaN 和 math.IsInf

檢查是否為非數(shù)值或無窮大。

val := math.Log(-1)  // 生成 NaN
fmt.Println(math.IsNaN(val))  // 輸出: true
fmt.Println(math.IsInf(1/math.Inf(1), 0)) // 檢查是否無窮大

math.Inf 和 math.NaN

生成無窮大或非數(shù)值。

posInf := math.Inf(1)  // 正無窮
negInf := math.Inf(-1) // 負(fù)無窮
nan := math.NaN()

7. 特殊函數(shù)

math.Hypot

計(jì)算直角三角形的斜邊長度。

fmt.Println(math.Hypot(3, 4))  // 輸出: 5

math.Gamma 和 math.Erf

伽馬函數(shù)和誤差函數(shù)。

fmt.Println(math.Gamma(5))  // 輸出: 24(4!)
fmt.Println(math.Erf(1))    // 輸出: ~0.8427

8. 數(shù)學(xué)常量

常用常量

fmt.Println(math.Pi)     // 輸出: 3.141592653589793
fmt.Println(math.E)      // 輸出: 2.718281828459045
fmt.Println(math.Phi)    // 輸出: 1.618033988749895(黃金分割)

總結(jié)

  • 核心功能
    • 基礎(chǔ)運(yùn)算AbsModSqrtPow
    • 三角函數(shù)SinCosAsin
    • 指數(shù)對數(shù)ExpLogLog10
    • 取整處理CeilFloorRound
    • 特殊值NaNInfIsNaN
    • 常量PiE
  • 注意事項(xiàng)
    • 所有函數(shù)操作 float64 類型(需顯式轉(zhuǎn)換其他類型)。
    • 三角函數(shù)參數(shù)為弧度(需將角度轉(zhuǎn)換為弧度:rad = degrees * π / 180)。
    • 處理特殊值(如 NaN)時(shí)需用 math.IsNaN 判斷,不可直接比較。

到此這篇關(guān)于Go語言標(biāo)準(zhǔn)庫中math模塊詳細(xì)功能介紹與示例代碼的文章就介紹到這了,更多相關(guān)Go語言標(biāo)準(zhǔn)庫math模塊介紹內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 淺析golang的依賴注入

    淺析golang的依賴注入

    這篇文章主要介紹了淺析golang的依賴注入,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-09-09
  • 詳解Go語言中ErrGroup的使用

    詳解Go語言中ErrGroup的使用

    本文主要為大家詳細(xì)介紹了Go語言中errGroup的使用,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2023-07-07
  • golang?gin框架實(shí)現(xiàn)大文件的流式上傳功能

    golang?gin框架實(shí)現(xiàn)大文件的流式上傳功能

    這篇文章主要介紹了golang?gin框架中實(shí)現(xiàn)大文件的流式上傳,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-07-07
  • golang zap日志庫的具體使用

    golang zap日志庫的具體使用

    本文主要介紹了golang zap日志庫的具體使用,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2025-11-11
  • Golang?中反射的應(yīng)用實(shí)例詳解

    Golang?中反射的應(yīng)用實(shí)例詳解

    這篇文章主要為大家介紹了Golang?中反射的應(yīng)用實(shí)例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-08-08
  • golang如何通過type定義函數(shù)類型

    golang如何通過type定義函數(shù)類型

    這篇文章主要介紹了golang如何通過type定義函數(shù)類型問題,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • Go1.18新特性對泛型支持詳解

    Go1.18新特性對泛型支持詳解

    這篇文章主要為大家介紹了Go1.18新特性對泛型支持詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-06-06
  • 詳解Go?sync?同步原語

    詳解Go?sync?同步原語

    Go?中不僅有?channel?這種?CSP?同步機(jī)制,還有?sync.Mutex、sync.WaitGroup?等比較原始的同步原語,使用它們,可以更靈活的控制數(shù)據(jù)同步和多協(xié)程并發(fā),這篇文章主要介紹了Go?sync?同步原語,需要的朋友可以參考下
    2023-12-12
  • go?分布式鎖簡單實(shí)現(xiàn)實(shí)例詳解

    go?分布式鎖簡單實(shí)現(xiàn)實(shí)例詳解

    這篇文章主要為大家介紹了go?分布式鎖簡單實(shí)現(xiàn)實(shí)例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-09-09
  • golang中l(wèi)og包自定義輸出日志格式與寫入到文件

    golang中l(wèi)og包自定義輸出日志格式與寫入到文件

    這篇文章主要給大家介紹了關(guān)于golang中l(wèi)og包自定義輸出日志格式與寫入到文件的相關(guān)資料,日志輸出在任何項(xiàng)目中都極其重要,是有助于后續(xù)我們排查解決程序BUG,需要的朋友可以參考下
    2023-06-06

最新評論

双柏县| 珲春市| 大化| 扶沟县| 通河县| 英德市| 鄢陵县| 上饶县| 迭部县| 桐庐县| 民权县| 维西| 东莞市| 丹寨县| 洱源县| 加查县| 沧州市| 平度市| 昌都县| 汾西县| 农安县| 大洼县| 朝阳县| 海兴县| 合阳县| 涪陵区| 巴林左旗| 永年县| 平陆县| 锡林郭勒盟| 东宁县| 临潭县| 江华| 涞水县| 社旗县| 望都县| 揭东县| 彩票| 班戈县| 壶关县| 永登县|