2024年Go最全结构体使用方法大全(定义,内存大小,初始化,结构数组,GitHub标星3.2K
package main
import (
"fmt"
"unsafe"
)
// 定义一个结构体
type MyStruct struct {
Field1 int
Field2 string
}
func main() {
// 结构体实例的内存大小
fmt.Println("结构体的内存大小:", unsafe.Sizeof(MyStruct{}))
// 结构体数组的初始化
var arr [3]MyStruct
for i := range arr {
arr[i] = MyStruct{
Field1: i,
Field2: fmt.Sprintf("string%d", i),
}
}
fmt.Println("结构体数组:", arr)
// 结构体指针的使用
p := &MyStruct{
Field1: 100,
Field2: "pointer",
}
fmt.Println("结构体指针:", p)
// 结构体作为函数参数
modifyStruct(p)
fmt.Println("修改后的结构体指针:", p)
}
// 结构体作为函数参数的方法
func modifyStruct(ms *MyStruct) {
ms.Field1 *= 2
ms.Field2 += " modified"
}
这段代码展示了如何定义一个结构体、计算其内存大小、初始化结构体数组、使用结构体指针以及将结构体作为函数参数的基本用法。这些是学习Go语言中最基本和最常用的结构体操作。
评论已关闭