golang 在Go中获取各种类型的最大最大值

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了golang 在Go中获取各种类型的最大最大值相关的知识,希望对你有一定的参考价值。

package main

import (
	"fmt"
	"math"
)

const(
	MinUint uint = 0 // all zeroes
	// Perform a bitwise NOT to change every bit from 0 to 1.
	MaxUint = ^MinUint // all ones

	// Shift the binary number to the right to get the high bit to zero
	MaxInt = int(MaxUint >> 1) // all ones except high bit

	MinInt = ^MaxInt // all zeroes except high bit.
)

func main() {
	// integer max
	fmt.Printf("max for int64 = %+v\n", math.MaxInt64)
	fmt.Printf("max for int32 = %+v\n", math.MaxInt32)
	fmt.Printf("max for int16 = %+v\n", math.MaxInt16)
	fmt.Printf("max for int8 = %+v\n", math.MaxInt8)

	// integer min
	fmt.Printf("min for int64 = %+v\n", math.MinInt64)
	fmt.Printf("min for int32 = %+v\n", math.MinInt32)
	fmt.Printf("min for int16 = %+v\n", math.MinInt16)
	fmt.Printf("min for int8 = %+v\n", math.MinInt8)

	// Added parts that aren't in the video!
	fmt.Printf("max float64 = %+v\n", math.MaxFloat64)
	fmt.Printf("max float32 = %+v\n", math.MaxFloat32)
	fmt.Printf("smallest nonzero float64 = %+v\n", math.SmallestNonzeroFloat64)
	fmt.Printf("smallest nonzero float32 = %+v\n", math.SmallestNonzeroFloat32)

	fmt.Printf("max uint = %+v\n", MaxUint)
	fmt.Printf("min uint = %+v\n", MinUint)
	fmt.Printf("max int = %+v\n", MaxInt)
	fmt.Printf("min int = %+v\n", MinInt)
}

golang-指针类型

参考技术A

tips: *号,可以指向指针类型内存地址上的值,&号,可以获取值类型的内存地址

每一个变量都有内存地址,可以通过变量来操作内存地址中的值,即内存的大小

go语言中获取变量的内存地址方法:通过 & 符号可以获取变量的地址

定义:普通变量存储的是对应类型的值,这些类型就叫值类型

变量b,在内存中的地址为:0x1040a124,在这个内存地址上存储的值为:156

定义:指针类型的变量存储的是⼀个地址,所以⼜叫指针类型或引⽤类型

b 是值类型,它指向的是内存地址上的值

a是指针类型,它指向的是b的内存地址

指针类型定义,语法: var 变量名 *类型

指针类型在定义完成后,默认为空地址,即空指针(nil)

在定义好指针变量后,可以通过***** 符号可以获取指针变量指向的变量

在这里的 *a 等价于 b,通过修改 *a ,最终修改的是值类型b的值

这里a,d是值类型,b,c是指针类型

d就相当于把a内存地址上值,在内存中从新开辟了一块空间存储,d和a互不影响

b,c相当于指向了a的内存地址,当使用*号引用出内存地址上的变量上,修改值得,a的值也会跟着改变

以上是关于golang 在Go中获取各种类型的最大最大值的主要内容,如果未能解决你的问题,请参考以下文章

golang mysql 设置最大连接数

go语言int类型最大值

Go 中 int 类型的最大值

GO开发[六]:golang反射(reflect)

Go语言入门150题L1-069 胎压监测 (15 分) Go语言 | Golang

go python 学哪个