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

运行结果:

相关推荐
chxii19 分钟前
2.2goweb解析http请求信息
go
小刀飘逸8 小时前
部署go项目到linux服务器(简易版)
后端·go
我是前端小学生11 小时前
Go 语言中的 Channel 全面解析
go
IT杨秀才11 小时前
Go语言单元测试指南
后端·单元测试·go
Piper蛋窝16 小时前
Go 1.1 相比 Go1.0 有哪些值得注意的改动?
go
洛卡卡了1 天前
Go + Gin 优化动态定时任务系统:互斥控制、异常捕获与任务热更新
后端·go
洛卡卡了2 天前
Go + Gin 实现动态定时任务系统:从静态注册到动态调度与日志记录
后端·go
楽码2 天前
只需一文!深入理解闭包的实现
后端·go·编程语言
豆浆Whisky2 天前
深入剖析Go Channel:从底层原理到高阶避坑指南|Go语言进阶(5)
后端·go