go语言中哪些变量放在栈

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

go语言中哪些变量放在栈插图1

在 Go 语言中,栈上存储的变量

在 Go 语言中,以下类型的变量存储在栈上:

基本类型

布尔类型(bool)
整数类型(int、int8、int16、int32、int64)
浮点数类型(float32、float64)
复数类型(complex64、complex128)
字符类型(rune)
字节类型(byte)
指针类型(指向上述基本类型的指针)

结构体

立即学习“go语言免费学习笔记(深入)”;

如果结构体中的所有字段都是基本类型(或指向基本类型的指针),则该结构体存储在栈上。
否则,该结构体将存储在堆上。

数组

如果数组的长度已知,并且其元素类型是基本类型,则该数组存储在栈上。
否则,该数组将存储在堆上。

字符串(不可变)

如果字符串的长度已知,则该字符串存储在栈上。
否则,该字符串将存储在堆上。

值得注意的是,函数参数和局部变量始终存储在栈上。

以上就是go语言中哪些变量放在栈的详细内容,更多请关注至强加速其它相关文章!

本文来源于互联网,如若侵权,请联系管理员删除,本文链接:https://www.9969.net/28665.html

沫沫沫沫
上一篇 2024年7月26日 19:34
下一篇 2024年7月26日 19:34

相关推荐