처음부터 시작 - 지도 사용
5160 단어 goprogrammingtutorialbeginners
처음부터 시작 - 지도 사용
조회해야 할 항목이 있다고 코딩할 때 시나리오가 있습니다. 예를 들어 사전을 사용하는 경우 단어를 영어에서 스페인어로 또는 그 반대로 번역하는 방법을 찾을 수 있습니다. 프로그래밍에서 비슷한 상황이 있습니다. 예를 들어 특정 포트에서 어떤 서비스가 실행되는지 알고 싶을 수 있습니다. 특정 값을 가리키는 고유한 키를 갖는다는 개념을 기반으로 하는 데이터베이스도 있습니다.
이 모든 것이 구현되는 방식은 맵 구조를 통해 이루어집니다. 아이디어는 키와 값을 정의하고 그룹, 맵의 모든 항목을 수집한다는 것입니다.
지도 만들기
Go에서 지도를 만들려면 다음 구문을 사용해야 합니다.
map[<key type>]<value type>{ ... entries }
다음은 전화번호부를 저장할 수 있는 지도 구조를 만드는 예입니다.
phonebook := map[int]string{ 555123: "Robin Hood", 555404: "Sheriff of Nottingham"}
키 유형int
과 값 유형 문자열을 사용하여 맵 구조를 정의합니다. 그런 다음 {}
로 값을 할당합니다. 각 항목은 <key>: <value>
에 따라 정의되고 쉼표로 구분됩니다. 그렇다면 어떻게 값을 읽을까요?
make()로 지도 만들기
make()
함수를 사용하여 지도를 만드는 또 다른 방법입니다. make()
는 다음과 같은 유형을 지정하면 초기화된 지도를 반환합니다.
dictionaryEnSv = make(map[string]string)
항목 추가
맵에 항목을 추가하려면 다음과 같이 키 및 값 항목을 제공해야 합니다.
dictionaryEnSv["hello"] = "hej"
키로 값 읽기
이제 이 두 항목이 있고 항목 555404가 주어진 값을 원한다고 상상해 보십시오. 어떻게 해야 할까요? 다음과 같이 대괄호를 사용합니다[]
.
phonebook[555404] // "Sheriff of Nottingham"
기존 항목 확인
그래서 당신은 phonebook[555404]
가 당신에게 가치를 돌려준다는 것을 배웠습니다. 존재하지 않는다면? 맵에 저장되지 않은 키를 제공하면 어떤 일이 발생합니까? 아무 것도 돌려받지 못합니다.
phonebook[888] //
키를 사용하여 항목에 액세스하면 실제로 값과 부울이라는 두 값이 반환되기 때문에 이를 확인하는 더 좋은 방법이 있습니다. 부울은 이 키가 맵에 있는지 여부를 나타냅니다. 이 코드를 참조하십시오.
_, exist phonebook[888]
fmt.Println(exist) // false
if 문에서 이것을 사용할 수도 있습니다.
if _, exist := phonebook[888] {
// number exist, call person
}
맵을 반복
for
구조와 range
를 사용하여 맵을 반복할 수 있습니다. 반복하는 방법은 다음과 같습니다.
for key, value := range phonebook {
fmt.Println(key, value)
}
항목 삭제
맵에서 항목을 제거하려면 delete()
메서드를 사용할 수 있습니다. delete()
메소드는 다음과 같이 삭제할 맵과 키를 매개변수로 사용합니다.
delete(phonebook, 555404)
요약
우리는 지도가 무엇이며 언제 사용하는지 배웠습니다. 또한 키 단위로 전체 맵을 반복하여 생성하고, 값을 추가하고, 읽는 방법도 배웠습니다.
Reference
이 문제에 관하여(처음부터 시작 - 지도 사용), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://dev.to/azure/go-from-the-beginning-using-maps-3fm9
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
map[<key type>]<value type>{ ... entries }
phonebook := map[int]string{ 555123: "Robin Hood", 555404: "Sheriff of Nottingham"}
dictionaryEnSv = make(map[string]string)
dictionaryEnSv["hello"] = "hej"
phonebook[555404] // "Sheriff of Nottingham"
phonebook[888] //
_, exist phonebook[888]
fmt.Println(exist) // false
if _, exist := phonebook[888] {
// number exist, call person
}
for key, value := range phonebook {
fmt.Println(key, value)
}
delete(phonebook, 555404)
Reference
이 문제에 관하여(처음부터 시작 - 지도 사용), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/azure/go-from-the-beginning-using-maps-3fm9텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)