티스토리 뷰

Language/Go

Go. slice에 insert 구현하기

out of coding 2020. 6. 21. 16:50

Go 언어는 제가 좋아하는 언어지만 여러가지 지원하지 않는 부분들 때문에 가끔 답답하기도 합니다.

이런 부분들 중에 한가지는 slice ( array ) 에 insert가 없습니다.

 

그래서 이 부분을 한번 만들어 보겠습니다.

func insert(array []string, index int, element string) []string {
	result := append(array, element)
	copy(result[index+1:], result[index:])
	result[index] = element
	return result
}

처음보면 다소 이해가 안되게 만들어집니다.

 

만들어지는 부분을 보면 result에 일단 값을 넣어주고 copy를 이용하여 index의 위치보다 1개 이후로 값을 이동시킵니다.

그리고 넣으려고 하는 곳에 값을 넣어주죠... 후훗.

array := []string{"1", "2", "3"}
array = insert(array, 1, "5")
fmt.Println(array)
// [1 5 2 3]

만드는 재미가 있습니다.

 

'Language > Go' 카테고리의 다른 글

Go. encoding, decoding, marshaling, unmarshaling  (0) 2020.11.19
Write in go  (0) 2020.07.02
Golang으로 아주 간단하게 HTTP 서버 만들기  (1) 2020.03.31
Go. 99Class  (0) 2019.09.16
Go. const와 iota  (0) 2019.09.09
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함