在 Go 语言中,存储在栈上的变量类型包括:1. 基本类型;2. 指向基本类型的指针;3. 所有字段都是基本类型或指向基本类型的指针的结构体;4. 长度已知且元素类型为基本类型的数组;5. 长度已知的字符串。

在 Go 语言中,栈上存储的变量
在 Go 语言中,以下类型的变量存储在栈上:
基本类型
- 布尔类型(bool)
- 整数类型(int、int8、int16、int32、int64)
- 浮点数类型(float32、float64)
- 复数类型(complex64、complex128)
- 字符类型(rune)
- 字节类型(byte)
- 指针类型(指向上述基本类型的指针)
结构体
立即学习“go语言免费学习笔记(深入)”;
系统功能强大、操作便捷并具有高度延续开发的内容与知识管理系统,并可集合系统强大的新闻、产品、下载、投票、人才、留言、在线订购、搜索引擎优化、等功能模块,为企业部门提供一个简单、易用、开放、可扩展的企业信息门户平台或电子商务运行平台。开发人员为脆弱页面专门设计了防刷新系统,自动阻止恶意访问和攻击;安全检查应用于每一处代码中,每个提交到系统查询语句中的变量都经过过滤,可自动屏蔽恶意攻击代码,从而全面防
- 如果结构体中的所有字段都是基本类型(或指向基本类型的指针),则该结构体存储在栈上。
- 否则,该结构体将存储在堆上。
数组
- 如果数组的长度已知,并且其元素类型是基本类型,则该数组存储在栈上。
- 否则,该数组将存储在堆上。
字符串(不可变)
- 如果字符串的长度已知,则该字符串存储在栈上。
- 否则,该字符串将存储在堆上。
值得注意的是,函数参数和局部变量始终存储在栈上。









