Golang은 빠르고 안정적이며 효율적인 프로그래밍 언어입니다. 뛰어난 성능과 유지 관리성으로 인해 웹 개발, 서버 프로그래밍, 빅 데이터 처리 및 기타 시나리오에서 인기 있는 선택이 되었습니다. 이번 글에서는 Golang에서 new 키워드의 사용법을 소개하겠습니다.
Golang에서 new는 힙에 메모리를 할당하고 0값으로 초기화하는 데 사용되는 키워드입니다. C/C++ 유형 아이디어에 익숙하다면 malloc 함수와 calloc 함수의 조합과 유사하게 사용할 수 있습니다.
new 키워드를 사용하여 데이터 메모리를 여는 것은 매우 간단합니다. 새 함수를 호출하고 변수 유형을 전달하기만 하면 됩니다. 예:
var data *int // 声明一个int类型指针变量data data = new(int) // 通过new函数在堆上分配一个整型数据内存,并将data指向这段内存
위 코드를 통해 정수 데이터 메모리를 성공적으로 할당했습니다. 그리고 그 주소를 데이터 포인터 변수에 할당합니다. 다음으로, 다음 코드를 통해 데이터를 할당하고 액세스할 수 있습니다.
*data = 100 // 赋值操作,将整型数据100赋值给指针data指向的内存 fmt.Println(*data) // 访问操作,打印指针data指向的内存中存储的数据,即100
Golang에서 new 키워드는 변수 유형에 해당하는 포인터 유형을 반환한다는 점에 유의해야 합니다. 예를 들어 new(int)를 함수에 전달할 때 실제로 전달되는 것은 int 유형의 포인터 값입니다. 이를 사용할 때 * 연산자를 사용하여 이 포인터를 역참조해야 합니다.
기본 데이터 유형 외에도 새 키워드를 사용하여 사용자 정의 유형의 인스턴스를 생성할 수도 있습니다. 예를 들어, 아래에서는 name과 age라는 두 개의 멤버 변수를 포함하는 Person 구조 유형을 정의합니다. 그런 다음 new 키워드를 통해 이 유형의 인스턴스를 만들고 멤버 변수에 값을 할당합니다.
type Person struct { name string age int } p := new(Person) p.name = "joseph" p.age = 30 fmt.Println(p)
위 코드를 통해 Person 유형에 대한 인스턴스를 성공적으로 생성하고 멤버 변수 할당 및 인쇄 작업을 성공적으로 수행했습니다. Golang에서는 구조 멤버 변수에 p.name과 (*p).name의 두 가지 방법으로 액세스할 수 있습니다. 전자는 간단한 작성 방법이고 Golang은 이를 후자의 역참조 방식으로 자동 변환합니다. 쓰기. 따라서 둘 다 동일합니다.
결론적으로 new 키워드는 Golang의 매우 편리하고 실용적인 메모리 할당 도구입니다. 코드 한 줄로 힙의 변수 유형에 대한 메모리를 빠르게 할당하고 0 값으로 초기화할 수 있습니다. new 키워드를 적절하게 사용하면 Golang에서 메모리 관리를 빠르고 효율적으로 수행할 수 있습니다.
위 내용은 golang 새로운 사용법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!