티스토리 뷰
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
TAG
- golang
- Windows
- CentOS
- enum
- nodejs
- git
- intellij
- Linux
- Java
- Python
- ubuntu
- android
- Kotlin
- centos8
- cocoapods
- github
- go
- docker
- war
- Gradle
- windows10
- php
- Codable
- MySQL
- Spring
- SWIFT
- rxswift
- tomcat
- Xcode
- ios
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함