본문 바로가기

verdantjuly/Today I Learned

TIL 20240109

728x90

이번 주 목표

gthen : Chat.jsx 분석

PubArt : GoLang으로 API 하나 완성하기

market : 자바 공부

오늘 목표

PubArt : GoLang으로 API 하나 완성하기

market : 자바 공부

오늘 한 것

GoLang으로 API 하나 완성하기

오늘 스케줄

6:00 기상, 아침 식사, 샤워

6:30 커리어톤 - 최종체크

7:00 PubArt 팀 개발

12:00 점심식사, 휴식

13:00 resmemory 팀과 개발 시작

14:00 커리어톤 출석체크

14:15 면접 밸런스 게임

14:30 결석자 call 

15:00 TIL 작성

15:30 resmemory 팀과 개발 재개

16:50 resmemory 팀과 해산

17:00 채용 공고 업데이트 (Android/Kotlin 5개, Spring 2개, Node.js 1개, Python 1개, React 1개)

17:30 커리어톤 1차 체크

18:00 이화교 다녀오기

19:00 저녁식사, 휴식

20:00 java 학습

24:00 취침

1. Golang에서 &

1) 변수의 주소를 나타내는 포인터를 생성하는데 사용

package main

import "fmt"

func main() {
    x := 10
    // &를 사용하여 x의 주소를 가져옴
    ptr := &x
    fmt.Println("x의 값:", x)
    fmt.Println("x의 주소:", ptr)
}

 

2) 주소 참조 : 구조체 필드를 참조할 때 사용

package main

import "fmt"

type Point struct {
    X, Y int
}

func main() {
    p := Point{3, 4}
    
    // &를 사용하여 구조체 필드의 주소를 가져옴
    xPtr := &p.X
    yPtr := &p.Y
    
    fmt.Println("X의 주소:", xPtr)
    fmt.Println("Y의 주소:", yPtr)
}

2. Golang에서의 *

1) 포인터를 역참조하는 데 사용, 포인터가 가리키는 메모리 위치에 저장된 값을 읽거나 수정

package main

import "fmt"

func main() {
    x := 10
    // &를 사용하여 x의 주소를 가져옴
    ptr := &x

    // *를 사용하여 포인터를 역참조하여 값을 얻음
    value := *ptr

    fmt.Println("x의 값:", x)
    fmt.Println("ptr이 가리키는 값:", value)
}

 

2) 포인터 유형 선언 

package main

import "fmt"

func main() {
    // 정수형 포인터를 선언
    var ptr *int

    x := 10
    // &를 사용하여 x의 주소를 포인터에 할당
    ptr = &x

    // *를 사용하여 포인터를 역참조하여 값을 얻음
    value := *ptr

    fmt.Println("x의 값:", x)
    fmt.Println("ptr이 가리키는 값:", value)
}

 


정리 

Golang에서 &

1) 변수의 주소를 나타내는 포인터를 생성하는데 사용

package main

import "fmt"

func main() {
    x := 10
    // &를 사용하여 x의 주소를 가져옴
    ptr := &x
    fmt.Println("x의 값:", x)
    fmt.Println("x의 주소:", ptr)
}

 

2) 주소 참조 : 구조체 필드를 참조할 때 사용

package main

import "fmt"

type Point struct {
    X, Y int
}

func main() {
    p := Point{3, 4}
    
    // &를 사용하여 구조체 필드의 주소를 가져옴
    xPtr := &p.X
    yPtr := &p.Y
    
    fmt.Println("X의 주소:", xPtr)
    fmt.Println("Y의 주소:", yPtr)
}

 

2. Golang에서의 *

1) 포인터를 역참조하는 데 사용, 포인터가 가리키는 메모리 위치에 저장된 값을 읽거나 수정

package main

import "fmt"

func main() {
    x := 10
    // &를 사용하여 x의 주소를 가져옴
    ptr := &x

    // *를 사용하여 포인터를 역참조하여 값을 얻음
    value := *ptr

    fmt.Println("x의 값:", x)
    fmt.Println("ptr이 가리키는 값:", value)
}

 

2) 포인터 유형 선언 

package main

import "fmt"

func main() {
    // 정수형 포인터를 선언
    var ptr *int

    x := 10
    // &를 사용하여 x의 주소를 포인터에 할당
    ptr = &x

    // *를 사용하여 포인터를 역참조하여 값을 얻음
    value := *ptr

    fmt.Println("x의 값:", x)
    fmt.Println("ptr이 가리키는 값:", value)
}

 

 

 

KPT

Keep

도전하는 것

Problem

불안한 것

Try

자신을 믿자

소감

오늘은 처음으로 Golang 함수를 완성했다. 테스트 api에 연결도 해 봤다.

이제 실제 api를 만들었는데 내일 테스트 해 보면 된다. 만세.

 

 

 

 

'verdantjuly > Today I Learned' 카테고리의 다른 글

TIL 20240111  (2) 2024.01.11
TIL 20240110  (0) 2024.01.10
TIL 20240108  (0) 2024.01.08
TIL 20240106  (0) 2024.01.06
TIL 20240105  (0) 2024.01.05