0

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

 1 year ago
source link: https://sunqi.site/posts/old-sun-learning-go-notes-2-2/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

上一节对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

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK