변수 메모리 크기의 비밀 풀기
변수의 메모리 크기를 알아내는 것은 프로그래밍에서 메모리 관리의 중요한 측면입니다. Go에서는 "unsafe.Sizeof" 기능을 사용하여 이 귀중한 정보를 찾아낼 수 있습니다.
구문:
func Sizeof(x interface{}) uintptr
사용법:
변수의 메모리 크기를 확인하려면 변수를 인수로 전달하면 됩니다. "안전하지 않습니다. 크기". 변수 값이 차지하는 크기를 바이트 단위로 반환합니다.
import "unsafe" var i int = 1 fmt.Printf("Size of i: %d bytes", unsafe.Sizeof(i))
예:
다음 코드는 다양한 데이터의 메모리 크기를 가져오는 방법을 보여줍니다. 유형:
package main import "fmt" import "unsafe" func main() { a := int(123) b := int64(123) c := "foo" d := struct { FieldA float32 FieldB string }{0, "bar"} fmt.Printf("a: %T, %d bytes\n", a, unsafe.Sizeof(a)) fmt.Printf("b: %T, %d bytes\n", b, unsafe.Sizeof(b)) fmt.Printf("c: %T, %d bytes\n", c, unsafe.Sizeof(c)) fmt.Printf("d: %T, %d bytes\n", d, unsafe.Sizeof(d)) }
출력:
a: int, 4 bytes b: int64, 8 bytes c: string, 3 bytes d: struct { FieldA float32; FieldB string }, 16 bytes
참고:
"unsafe.Sizeof"를 사용해야 합니다. 부적절하게 사용하면 정의되지 않은 동작이 발생할 수 있으므로 주의해야 합니다. 일부 플랫폼에서는 "reflect.TypeOf(variable).Size()"를 통해 변수의 메모리 크기를 가져오는 방법을 제공하는 "reflect" 패키지와 유사하게 사용을 제한할 수도 있습니다.
위 내용은 Go에서 변수의 메모리 크기를 어떻게 확인할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!