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