2.2 Go语言中的布尔型和整型

Posted 孙琦Ray

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2.2 Go语言中的布尔型和整型相关的知识,希望对你有一定的参考价值。

变量类型

上一节对Go语言中的变量的定义方法进行了介绍,定义的方式一种是显示,一种为隐式。显示定义需要明确变量类型,而隐式定义则根据赋予的值来决定变量的类型。那么Go语言中到底有多少种变量类型呢?可以分为以下几种:

  • 基本类型:数值、字符串、布尔型、常量等
  • 集合类型:数组和结构体
  • 引用类型:指针,切片(Slice),Maps,函数和Channel
  • 接口(Interface)类型

本节我们从基本类型开始学习,后续将为大家介绍数组、切片和Maps。

布尔型(bool)

布尔型是每一种语言中最常用的变量,Go语言中的关键字为bool, 允许的值为true或false,默认值为false,我们通过一段程序来看一下Go语言中的默认值。

package main

import "fmt"

func main() 
    var a bool

    fmt.Printf("Bool default value: %v\\n", a)

根据上一节的内容,我们也可以这样初始化bool类型的变量。

a := false

数值类型(Numerical)

数值类型是所有语言中最常用的变量类型,Go语言中与数值类型相关的主要包括整型(int),无符号整型(uint8),浮点型(float32/float64,注意没有float类型)。

Go变量类型允许范围默认值
int
int8
int16
rune → int32
int64
uint8 : 0 to 255
uint16 : 0 to 65535
uint32 : 0 to 4294967295
uint64 : 0 to 18446744073709551615
0
byte → uint8
uint16
uint32
uint64
int8 : -128 to 127
int16 : -32768 to 32767
int32 : -2147483648 to 2147483647
int64 : -9223372036854775808 to 9223372036854775807
0
float32
float64
math.SmallestNonzeroFloat32
math.MaxFloat32
math.SmallestNonzeroFloat64
math.MaxFloat64
0
  • 对于32位的环境,整型为32位,对于64位的环境,整型为64位;当显示定义时,即使是32位系统,整型或浮点型64仍然是64
  • float32和float64的最大最小值可以使用math模块的SmallestNonzeroFloat32和MaxFloat32获取,如果64位,则尾数修改为64
package main

import (
    "fmt"
    "math"
)

func main() 
    fmt.Printf("min float64: %.50e\\n", math.SmallestNonzeroFloat64)
    fmt.Printf("max float64: %.50e\\n", math.MaxFloat64)

    fmt.Printf("min float32: %.50e\\n", math.SmallestNonzeroFloat32)
    fmt.Printf("max float32: %.50e\\n", math.MaxFloat32)

输出结果为

min float64: 4.94065645841246544176568792868221372365059802614325e-324
max float64: 1.79769313486231570814527423731704356798070567525845e+308
min float32: 1.40129846432481707092372958328991613128026194187652e-45
max float32: 3.40282346638528859811704183484516925440000000000000e+38

以上是关于2.2 Go语言中的布尔型和整型的主要内容,如果未能解决你的问题,请参考以下文章

go语言基础-数据类型- 整型,浮点型,布尔型

go语言基础-数据类型- 整型,浮点型,布尔型

链技术go语言基础知识-数据类型变量和常量

Go语言 :数据类型

Go 语言数据类型

c语言中怎样给整型和字符型赋空值(NULL)