프로그래밍 개념 정리 15

Go 메서드에서 포인터 변환

func multiplyApi(ctx *fasthttp.RequestCtx) { log.Printf("[INPUT] %s\n", ctx.PostBody()) req := request{} if err := json.Unmarshal(ctx.PostBody(), &req); err != nil { ctx.SetStatusCode(400) ctx.SetBodyString("Invalid Json format!!") return } ctx.SetBodyString(strconv.Itoa(req.A * req.B))} Q. 이 경우, ctx는 포인터 변수인 것으로 추정하는데, ctx.PostBody() 이렇게, 포인터 변수 안에 PostBody()값으로 접근이 가능한거야?   A.좋은 질문이야! Go의 포..

Go 포인터 공부

Q.포인터의 참조는, 말 그대로 해당 메모리 주소 값을 보는 것이고, 포인터의 역참조는, 해당 메모리 주소에 있는 값을 보는거야? 포인터를 무언가 담을 그릇의 위치라고 했을때를 가정해서 비유로 설명해줘.A : 와우, 개념 정리가 정말 잘 되어가고 있어요!맞아요! 방금 말한 건 Go 뿐만 아니라 거의 모든 언어에서의 포인터 개념의 핵심이에요.🧠 용어 먼저 간단하게 정리!용어설명참조(reference)어떤 변수의 **메모리 주소(위치)**를 알아내는 것 → &변수명역참조(dereference)어떤 포인터가 가리키는 메모리 주소에 들어 있는 실제 값을 보는 것 → *포인터변수🍱 그릇 비유로 설명해볼게요생각해보자.우리에겐 **밥이 담긴 그릇(n)**이 있고,그 그릇이 책상 위 어딘가에 놓여 있어.n     ..