欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Go語言標準庫中math模塊詳細功能介紹與示例代碼

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

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

1. 基本數(shù)學運算

math.Abs

取絕對值(僅 float64)。

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

math.Mod 和 math.Remainder

  • Mod:取余數(shù)(符號與除數(shù)相同)。
  • Remainder:IEEE 754 標準余數(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

冪運算。

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. 取整與截斷

math.Ceil 和 math.Floor

向上和向下取整。

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

math.Trunc

直接截斷小數(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

返回兩個 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) // 負無窮
nan := math.NaN()

7. 特殊函數(shù)

math.Hypot

計算直角三角形的斜邊長度。

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ù)學常量

常用常量

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

總結

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

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

相關文章

  • golang中單向channel的語法介紹

    golang中單向channel的語法介紹

    通過消息來共享數(shù)據是golang的一種設計哲學,channel則是這種哲理的體現(xiàn)。下面這篇文章主要給大家介紹了關于golang中單向channel語法的相關資料,文中通過示例代碼介紹的非常詳細,需要的朋友們下面來一起看看吧。
    2017-07-07
  • 解決GOPATH在GOLAND中的坑

    解決GOPATH在GOLAND中的坑

    這篇文章主要介紹了解決GOPATH在GOLAND中的坑,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-12-12
  • Go?的入口函數(shù)和包初始化的使用

    Go?的入口函數(shù)和包初始化的使用

    本文主要介紹了Go?的入口函數(shù)和包初始化的使用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-05-05
  • 深入分析golang多值返回以及閉包的實現(xiàn)

    深入分析golang多值返回以及閉包的實現(xiàn)

    相對于C/C++,golang有很多新穎的特性,例如goroutine,channel等等,這些特性其實從golang源碼是可以理解其實現(xiàn)的原理。今天這篇文章主要來分析下golang多值返回以及閉包的實現(xiàn),因為這兩個實現(xiàn)golang源碼中并不存在,我們必須從匯編的角度來窺探二者的實現(xiàn)。
    2016-09-09
  • golang切片擴容規(guī)則實現(xiàn)

    golang切片擴容規(guī)則實現(xiàn)

    這篇文章主要介紹了golang切片擴容規(guī)則實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-03-03
  • Golang操作mongodb的實現(xiàn)示例

    Golang操作mongodb的實現(xiàn)示例

    本文主要介紹了Golang操作mongodb的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2025-03-03
  • 詳解Go語言如何利用上下文進行并發(fā)計算

    詳解Go語言如何利用上下文進行并發(fā)計算

    在Go編程中,上下文(context)是一個非常重要的概念,它包含了與請求相關的信息,本文主要來和大家討論一下如何在并發(fā)計算中使用上下文,感興趣的可以了解下
    2024-02-02
  • go編譯so庫讓python引用編譯后沒有.h文件的問題

    go編譯so庫讓python引用編譯后沒有.h文件的問題

    有時python需要引用go的一些開源庫,這時就需要go編譯成python可調用的庫,本文給大家介紹了go編譯so庫讓python引用,編譯后沒有.h文件的問題,需要的朋友可以參考下
    2024-02-02
  • Golang二維數(shù)組的使用方式

    Golang二維數(shù)組的使用方式

    之前給大家講過很多二維數(shù)組的知識,今天重點給大家介紹Golang二維數(shù)組的使用方式,通過示例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2021-05-05
  • golang 之import和package的使用

    golang 之import和package的使用

    這篇文章主要介紹了golang 之import和package的使用,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-02-02

最新評論