Golang 알아두면 좋은 Tip - 4
구조체 내에 상속 구조체를 넣으면 동일 레벨로 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에서 메서드 반환값을 변경(할당) 할 수 있다