Go 또는 Golang에서 포인터를 사용하여 변수 값을 변경하는 방법은 무엇입니까?
6045 단어 go
Go 또는 Golang에서 포인터를 사용하여 변수 값을 변경하려면
*
기호(별표) 뒤에 값을 변경해야 하는 변수의 메모리 주소를 가리키는 포인터 변수 이름을 사용할 수 있습니다. 의. 그런 다음 =
연산자(할당)를 사용하여 값을 할당할 수 있으며 해당 값이 원래 변수에 할당됩니다. 이것을 Go에서는 포인터 역참조라고 합니다.TL; DR
package main
import "fmt"
func main() {
// a simple variable
role := "Admin"
// get the memory address of the `role` variable
roleMemAddr := &role
// assign the value of `Employee` to the `role` variable
// using the `roleMemAddr` pointer variable and dereferencing
// it using the `*` symbol to assign the new value
*roleMemAddr = "Employee"
// log the value of `role` variable to console
fmt.Println(role) // Employee ✅
}
예를 들어, 다음과 같이
role
의 string
유형 값을 갖는 Admin
라는 변수가 있다고 가정해 보겠습니다.package main
func main(){
// a simple variable
role := "Admin"
}
이제
role
변수의 메모리 주소를 보유할 포인터 변수를 만들어 봅시다.다음과 같이 할 수 있습니다.
package main
func main(){
// a simple variable
role := "Admin"
// get the memory address of the `role` variable
roleMemAddr := &role
}
변수의 메모리 주소를 가져오는 방법에 대한 자세한 내용은 How to get the memory address of a variable in Go or Golang? 블로그를 참조하십시오.
role
포인터 변수를 사용하여 원래 string
변수의 값을 Employee
의 roleMemAddr
유형 값으로 변경하는 것을 목표로 합니다. 이를 위해 *
기호 다음에 roleMemAddr
포인터 변수 이름을 사용한 다음 =
연산자를 사용하여 string
유형 값을 Employee
할당할 수 있습니다. 이 기술을 포인터 역참조라고 합니다.다음과 같이 할 수 있습니다.
package main
func main() {
// a simple variable
role := "Admin"
// get the memory address of the `role` variable
roleMemAddr := &role
// assign the value of `Employee` to the `role` variable
// using the `roleMemAddr` pointer variable and dereferencing
// it using the `*` symbol to assign the new value
*roleMemAddr = "Employee"
}
마지막으로 원래
role
변수의 값이 변경되었는지 확인하기 위해 해당 값을 다음과 같이 콘솔에 기록해 보겠습니다.package main
import "fmt"
func main() {
// a simple variable
role := "Admin"
// get the memory address of the `role` variable
roleMemAddr := &role
// assign the value of `Employee` to the `role` variable
// using the `roleMemAddr` pointer variable and dereferencing
// it using the `*` symbol to assign the new value
*roleMemAddr = "Employee"
// log the value of `role` variable to console
fmt.Println(role) // Employee ✅
}
보시다시피 Go에서 포인터 변수를 사용하여 변수 값을 성공적으로 변경했습니다. 예이 🥳!
The Go Playground에 있는 위의 코드를 참조하십시오.
그게 다야 😃.
이 정보가 유용하다고 생각되면 자유롭게 공유하세요 😃.
Reference
이 문제에 관하여(Go 또는 Golang에서 포인터를 사용하여 변수 값을 변경하는 방법은 무엇입니까?), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/melvin2016/how-to-change-the-value-of-a-variable-using-a-pointer-in-go-or-golang-2e2m텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)