• A Tour of Go Numeric Constants


    Numeric constants are high-precision values.

    An untyped constant takes the type needed by its context.

    Try printing needInt(Big) too.

    package main 
    
    import "fmt"
    
    const (
        Big = 1 << 100
        Small = Big >> 99
    )
    
    func needInt(x int) int {
        return x*10 + 1
    }
    
    func needFloat(x float64) float64{
        return x * 0.1
    }
    
    func main() {
        fmt.Println(needInt(Small))
        fmt.Println(needFloat(Small))
        fmt.Println(needFloat(Big))
    }
    package main 
    
    import "fmt"
    
    const (
        Big = 1 << 100
        Small = Big >> 99
    )
    
    func needInt(x int) int {
        return x*10 + 1
    }
    
    func needFloat(x float64) float64{
        return x * 0.1
    }
    
    func main() {
        fmt.Println(Small);
        var intVariable int = 1
        //var float32Variable float32 = 1.2
        fmt.Println(needInt(Small))
        // constant 1267650600228229401496703205376 overflows int
        //fmt.Println(needInt(Big))
        fmt.Println(needFloat(Small))
        fmt.Println(needFloat(Big))
    
        //go语言对类型的要求是很严格的,所以你不能传递int到float中或者float到int
        fmt.Println(needInt(intVariable))
        //cannot use float32Variable (type float32) as type int in argument to needInt
        //fmt.Println(needInt(float32Variable))
        //cannot use intVariable (type int) as type float64 in argument to needFloat
        //fmt.Println(needFloat(intVariable))
        //cannot use float32Variable (type float32) as type float64 in argument to needFloat
        //fmt.Println(needFloat(float32Variable))
    
    }

    不过常量却相对宽容一些

        //constant 1267650600228229401496703205376 overflows int
        fmt.Println(Big);
  • 相关阅读:
    vim替换
    vim 常用快捷键 二
    vim撤销
    让你提升命令行效率的 Bash 快捷键
    快速正确的安装 Ruby, Rails 运行环境
    STL的常用算法
    Ubuntu下Postfix邮件服务器安装及基本的设置
    vim 参考手册
    指针 多维数组 数组指针 指针数组
    数学小抄
  • 原文地址:https://www.cnblogs.com/ghgyj/p/4052714.html
Copyright © 2020-2023  润新知