第006天:go语言基本数据类型

前言

本人主学的Java网络安全方向,但是参加实习后(安全研究工程师),发现大多数需求来自python和go,Java也有但是很少,公司更愿意接受会go的帅小伙,所以打算每天拿出一个小时来学习一下go语言。
请添加图片描述


golang中有丰富的数据类型,包括像常见的整型、浮点型、布尔型、字符串,除了这些还有数组、切片、结构体、函数、map、通道等。和Java什么的基本大同小异。

整形

整形有两类,按照长度分为:int8、int16、int32、int64对应的无符号整型:uint8、uint16、uint32、uint64。uint8其实就相当于byte,int16相当于short。

类型 描述
uint8 无符号8位整型(0到255)
uint16 无符号46位整型(0到65535)
uint32 无符号32位整型(0到4294967295)
uint64 无符号64位整型(0到18446744073709551615)
int8 有符号8位整型(-128到127)
int16 有符号16位整型(-32768到32767)
int32 有符号32位整型(-2147483648到2147483647)
int64 有符号64位整型(-9223372036854775808到9223372036854775807)

特殊整形:

类型 描述
uint 32位操作系统上就是uint32,64位操作系统上就是uint64。
int 32位操作系统上就是int32,64位操作系统上就是int64。
uintptr 无符号整型,用于存放一个指针

浮点型复数

go支持两种浮点型:float32和float64。
两者数据格式都遵循IEEE754标准:float32的浮点数的最大范围约为3.4e38,可以使用常量定义:math.MaxFloat32 。float64的浮点数的最大范围约为1.8e308,可以使用一个常量定义:math.MaxFloat64 。
打印浮点数时,可以使用fmt包配合动词%f,代码如下∶

package main

import "fmt"

//浮点数

func main() {
    
    
	//math.MaxFloat32 //float32的最大值
	f1 := 1.23456
	fmt.Printf("%T\n", f1) //默认go语言中都是float64类型
	f2 := float32(1.234456)
	fmt.Printf("%T\n", f2) //显示声明float32
}

在这里插入图片描述
float32不能直接赋值给float64

复数

complex64和complex128

var c1 complex64
c1 = 1 + 2i
var c2 camplex128
c2 = 2 + 3i
fmt.Println(C1)
fmt. Println(c2)

复数有实部和虚部,complex64的实部和虚部为32位,complex128的实部和虚部为64位。

布尔值

Go语言中以bool 类型进行声明布尔型数据,布尔型数据只有true (真)和false (假)两个值。
注意:
1.布尔类型变量的默认值为false。
2. Go语言中不允许将整型强制转换为布尔型。
3.布尔型无法参与数值运算.也无法与其他类型进行转换。

package main

import "fmt"

func main() {
    
    
	b1 := true
	var b2 bool
	fmt.Printf("%T\n", b1)
	fmt.Printf("%T\n value:%v", b2, b2)
}

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_53571321/article/details/123818817
今日推荐