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

运行结果:

相关推荐
梁梁梁梁较瘦21 小时前
边界检查消除(BCE,Bound Check Elimination)
go
梁梁梁梁较瘦1 天前
指针
go
梁梁梁梁较瘦1 天前
内存申请
go
半枫荷1 天前
七、Go语法基础(数组和切片)
go
梁梁梁梁较瘦2 天前
Go工具链
go
半枫荷2 天前
六、Go语法基础(条件控制和循环控制)
go
半枫荷3 天前
五、Go语法基础(输入和输出)
go
小王在努力看博客3 天前
CMS配合闲时同步队列,这……
go
Anthony_49264 天前
逻辑清晰地梳理Golang Context
后端·go
Dobby_055 天前
【Go】C++ 转 Go 第(二)天:变量、常量、函数与init函数
vscode·golang·go