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)) // 类型捕获和内存大小
}

运行结果:

相关推荐
Piper蛋窝3 小时前
我所理解的 Go 的 `panic` / `defer` / `recover` 异常处理机制
后端·go
叹一曲当时只道是寻常5 小时前
AI书签管理工具开发全记录(十三):TUI基本框架搭建
ui·go
岁忧6 小时前
(nice!!!)(LeetCode每日一题)2434. 使用机器人打印字典序最小的字符串(贪心+栈)
java·c++·算法·leetcode·职场和发展·go
喵个咪9 小时前
MQTT 协议下的Last Will and Testament(LWT,遗嘱消息)
后端·go
DemonAvenger1 天前
Go并发编程:内存同步与竞态处理
性能优化·架构·go
叹一曲当时只道是寻常1 天前
xmind转换为markdown
go·xmind
程序员爱钓鱼1 天前
Go 并发编程基础:通道(Channel)的使用
后端·google·go
fashia1 天前
Java转Go日记(六十):gin其他常用知识
开发语言·后端·golang·go·gin
余厌厌厌2 天前
go语言学习 第4章:流程控制
go
DemonAvenger2 天前
Go 大对象与小对象分配策略优化
性能优化·架构·go