Go语言类型捕获及内存大小判断

代码如下:

类型捕获可使用:reflect.TypeOf(),fmt.Printf在的%T。

内存大小判断:unsafe.Sizeof。

字符串中字符长度判断:len()

复制代码
package main

import (
	"fmt"
	"unsafe"
	"reflect"
)

func main(){
	var i , j = 1, 2
	fmt.Println("i + j =", i + j) // 整数加法
	var str1, str2 = "hello", "world" 
	fmt.Println("str1 + str2 =", str1 + str2) // 字符串加法
	fmt.Println("str1 的类型是:", reflect.TypeOf(str1)) // 类型捕获
	fmt.Println("str1 占用的内存大小是 %d", len(str1)) //求字符串中字符个数
	fmt.Printf("str1 的数据类型是 %T, str1 占用的内存大小是 %d\n", str1, unsafe.Sizeof(str1)) // 类型捕获和内存大小
}

运行结果:

相关推荐
日火12 小时前
Go:实现基于mutex的环形缓冲区
go
审判长烧鸡2 天前
GO错误处理【7】层层递进,环环相扣
go·报错处理
审判长烧鸡2 天前
Go结构体与指针【3】自动解引用
go·指针·结构体·自动解引用
审判长烧鸡2 天前
【GO VS PHP】之 指针/引用传递
go·php·指针·引用传递
审判长烧鸡2 天前
GO错误处理【4】报错即链条
go·异常处理·错误处理
审判长烧鸡2 天前
GO时区【1】定义与使用
go·时区
审判长烧鸡2 天前
GO错误处理【5】显式错误处理
go·错误处理·报错链条
jeff聊企业数字化2 天前
私有化即时通讯选型指南:兼顾安全与高效
go·业界资讯·即时通讯
审判长烧鸡2 天前
GO错误处理【6】显式哲学
go·显式哲学
审判长烧鸡2 天前
GO错误处理【3】返回err与日志的结合
go·架构设计·报错处理