-
GO 가변인자@ 17. 1 ~ 18/Go 랭 2020. 7. 4. 23:17
Go언어는 값을 넘기기 때문에 그 값들을 슬라이스에 담아서 넘기면 되지 않을까요
func f(w io.Writer, nums []int){ } func main(){ ... f(w, []int{x,y,z}) } //아래 처럼 가변인자로 한다면 func WriteTo(w io.Writer, lines... string) (n int64, err error){ } //이와 같이 lines를 가변인자로 변경하여도 lines는 슬라이스가 됩니다 //호출할때 원래는 슬라이스를 넘겨주어야 했겠지만 이제는 나열하는 것만으로도 가능하다 //WriteTo(w, "hello", "world", "Go") //그럼 이미 슬라이스로 갖고 있는 자료라면? //그냥 슬라이스 하나를 넘기면 그 슬라이스 하나를 담고 있는 슬라이스로 만들어서 넘겨줄 것이기 //때문에 우리가 원하는 대로 되지 않습니다 //호출시에 점 셋을 붙이면 슬라이스를 넘길 수 있습니다 lines := []string{"hello", "world"} WriteTo(w, lines...)
'@ 17. 1 ~ 18 > Go 랭' 카테고리의 다른 글
GO RWMutex vs Mutex (0) 2020.07.16 GO 문법 정리(진행형) (0) 2020.07.07 Go 슬라이스 (0) 2020.07.04