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

运行结果:

相关推荐
阿里云云原生5 小时前
5 分钟零代码改造,让 Go 应用自动获得全链路可观测能力
云原生·go
Coding君10 小时前
每日一Go-30、Go语言进阶-现代化部署:容器化与Docker
go
子玖12 小时前
go实现通过ip解析城市
后端·go
Das1_13 小时前
【Golang 数据结构】Slice 底层机制
后端·go
太凉1 天前
select 语句详解
go
想用offer打牌1 天前
一站式了解四种限流算法
java·后端·go
怕浪猫2 天前
第20章:Web服务实战——构建RESTful API
后端·go·编程语言
Coding君2 天前
每日一Go-28、Go语言进阶-深入Go运行时:内存管理与GC
go
echo本尊472182 天前
如何设计一个简单易用的定时任务模块
go
Bigger3 天前
告别版本焦虑:如何为 Hugo 项目定制专属构建环境
前端·架构·go