Huny's Dev Blog

huny.dev

Golang 알아두면 좋은 Tip - 4

Hun Jang

구조체 내에 상속 구조체를 넣으면 동일 레벨로 json 파싱이 가능하다

 

인터페이스 구현체를 전달할 때는 nil 포인터도 가능하며 .(type) 문법을 통해 instance of 기능을 사용할 수 있다

 

[]byte와 같은 슬라이스 타입은 copy() 함수로 값을 복사해야 하지만 [16]byte와 같은 배열 타입은 자동으로 값을 다른 변수에 할당 시 deep copy가 된다.

 

프로세스 백그라운드(데몬) 전환하기

 

slice의 크기가 0인 경우 nil이 될 수도 있고 크기가 0인 slice가 될 수도 있다.

출력하면 동일하게 [ ] 로 출력되지만, 선언에 따라 nil-able이 될 수도 있음

 

append의 src는 nil인 slice든 not nil slice 든 모두 가능하다.

예를 들어 m := map[string][]string{} 과 같이 map을 정의했다면 각 요소를 0인 slice로 초기화하지 않더라도

m[”key”] = append(m[”key”], “Item”) 과 같이 사용 가능하다

 

defer에서 메서드 반환값을 변경(할당) 할 수 있다

 

You might also like

BlogPro logo
Made with BlogPro