Golang的math包常用方法

简介: 这篇文章介绍了Golang的math包中的常量和常用方法,并通过示例代码展示了如何使用这些常量和方法。

作者:尹正杰

版权声明:原创作品,谢绝转载!否则将追究法律责任。

一.math包中定义的常量

package main

import (
    "fmt"
    "math"
)

func main() {

    fmt.Printf("float64的最大值是:%.f\n", math.MaxFloat64)
    fmt.Printf("float64的最小值是:%.f\n", math.SmallestNonzeroFloat64)
    fmt.Printf("float32的最大值是:%.f\n", math.MaxFloat32)
    fmt.Printf("float32的最小值是:%.f\n", math.SmallestNonzeroFloat32)
    fmt.Printf("Int8的最大值是:%d\n", math.MaxInt8)
    fmt.Printf("Int8的最小值是:%d\n", math.MinInt8)
    fmt.Printf("Uint8的最大值是:%d\n", math.MaxUint8)
    fmt.Printf("Int16的最大值是:%d\n", math.MaxInt16)
    fmt.Printf("Int16的最小值是:%d\n", math.MinInt16)
    fmt.Printf("Uint16的最大值是:%d\n", math.MaxUint16)
    fmt.Printf("Int32的最大值是:%d\n", math.MaxInt32)
    fmt.Printf("Int32的最小值是:%d\n", math.MinInt32)
    fmt.Printf("Uint32的最大值是:%d\n", math.MaxUint32)
    fmt.Printf("Int64的最大值是:%d\n", math.MaxInt64)
    fmt.Printf("Int64的最小值是:%d\n", math.MinInt64)
    //fmt.Println("Uint64的最大值是:", math.MaxUint64)
    fmt.Printf("圆周率默认为:%.200f\n", math.Pi)

}

二.math包中常用的方法

package main

import (
    "fmt"
    "math"
)

func main() {
    /*
        取绝对值,函数签名如下:
            func Abs(x float64) float64
    */
    fmt.Printf("[-3.14]的绝对值为:[%.2f]\n", math.Abs(-3.14))

    /*
        取x的y次方,函数签名如下:
            func Pow(x, y float64) float64
    */
    fmt.Printf("[2]的16次方为:[%.f]\n", math.Pow(2, 16))

    /*
        取余数,函数签名如下:
            func Pow10(n int) float64
    */
    fmt.Printf("10的[3]次方为:[%.f]\n", math.Pow10(3))

    /*
        取x的开平方,函数签名如下:
            func Sqrt(x float64) float64
    */
    fmt.Printf("[64]的开平方为:[%.f]\n", math.Sqrt(64))

    /*
        取x的开立方,函数签名如下:
            func Cbrt(x float64) float64
    */
    fmt.Printf("[27]的开立方为:[%.f]\n", math.Cbrt(27))

    /*
        向上取整,函数签名如下:
            func Ceil(x float64) float64
    */
    fmt.Printf("[3.14]向上取整为:[%.f]\n", math.Ceil(3.14))

    /*
        向下取整,函数签名如下:
            func Floor(x float64) float64
    */
    fmt.Printf("[8.75]向下取整为:[%.f]\n", math.Floor(8.75))

    /*
        取余数,函数签名如下:
            func Floor(x float64) float64
    */
    fmt.Printf("[10/3]的余数为:[%.f]\n", math.Mod(10, 3))

    /*
        分别取整数和小数部分,函数签名如下:
            func Modf(f float64) (int float64, frac float64)
    */
    Integer, Decimal := math.Modf(3.14159265358979)
    fmt.Printf("[3.14159265358979]的整数部分为:[%.f],小数部分为:[%.14f]\n", Integer, Decimal)

}

目录
相关文章
|
11天前
|
存储 Go
Golang语言基于go module方式管理包(package)
这篇文章详细介绍了Golang语言中基于go module方式管理包(package)的方法,包括Go Modules的发展历史、go module的介绍、常用命令和操作步骤,并通过代码示例展示了如何初始化项目、引入第三方包、组织代码结构以及运行测试。
18 3
|
11天前
|
Go
Golang语言基于GOPATH方式管理包(package)
这篇文章详细介绍了Golang语言中基于GOPATH方式管理包(package)的方法,包括包的概述、定义、引入格式、别名使用、匿名引入,以及如何快速入门自定义包,并通过具体代码案例展示了包的环境准备、代码编写、细节说明和程序运行。
26 3
|
11天前
|
Go
Golang语言之包依赖管理
这篇文章详细介绍了Go语言的包依赖管理工具,包括godep和go module的使用,以及如何在项目中使用go module进行依赖管理,还探讨了如何导入本地包和第三方库下载的软件包存放位置。
15 3
|
1月前
|
机器学习/深度学习 存储 人工智能
Golang bytes 包学习
Golang bytes 包学习
15 3
|
1月前
|
Kubernetes Go API
构建 Golang 应用程序的实用方法
构建 Golang 应用程序的实用方法
|
15天前
|
Go 开发者
|
15天前
|
存储 测试技术 Go
Golang 包:构建模块化代码的基石
【8月更文挑战第31天】
28 0
|
3月前
|
SQL NoSQL Go
技术经验分享:Golang标准库:errors包应用
技术经验分享:Golang标准库:errors包应用
28 0
|
3月前
|
移动开发 Go
golang bufio包怎么用?
`bufio` 是 Go 语言中用于提高 I/O 性能的包,它通过使用缓冲区减少对低效磁盘 I/O 操作的调用。简而言之,`bufio` 提供带缓冲的读写功能,减少读取或写入文件时的系统调用次数,从而提升程序性能。
|
11天前
|
Go
Golang语言之管道channel快速入门篇
这篇文章是关于Go语言中管道(channel)的快速入门教程,涵盖了管道的基本使用、有缓冲和无缓冲管道的区别、管道的关闭、遍历、协程和管道的协同工作、单向通道的使用以及select多路复用的详细案例和解释。
43 4
Golang语言之管道channel快速入门篇