A Tour of Go : Exercise: Maps

3115 단어 map
A Tour of Go 시리즈.질문이 있으시면 환영합니다~
Tour 2편, 코드를 직접 붙여요, 똑같이 간단해요.
 1 package main

 2 

 3 import (

 4     "code.google.com/p/go-tour/wc"

 5     "strings"

 6 )

 7 

 8 func WordCount(s string) map[string]int {

 9     cntWord:=make(map[string]int)

10     for _,v:=range strings.Fields(s){

11         cntWord[v]+=1

12     }

13     return cntWord

14 }

15 

16 func main() {

17     wc.Test(WordCount)

18 }

실행 후 출력:
PASS

 f("I am learning Go!") = 

  map[string]int{"I":1, "learning":1, "Go!":1, "am":1}

PASS

 f("The quick brown fox jumped over the lazy dog.") = 

  map[string]int{"over":1, "lazy":1, "quick":1, "brown":1, "the":1, "dog.":1, "fox":1, "jumped":1, "The":1}

PASS

 f("I ate a donut. Then I ate another donut.") = 

  map[string]int{"donut.":2, "another":1, "ate":2, "Then":1, "I":2, "a":1}

PASS

 f("A man a plan a canal panama.") = 

  map[string]int{"plan":1, "man":1, "A":1, "panama.":1, "a":2, "canal":1}

참고:
  • 맵을 초기화하여 make라는 built-in 함수를 적용하고 맵을 생성하는 인용을 되돌려줍니다.map의 값이 자동으로 0으로 초기화됨 (값이 int 형식일 때 다른 형식이 유사함)
  • 열 번째 줄의 for,v:=...의 ""Lua의 Ameta와 유사하며 함수가 반환될 때 해당 위치의 값이 생략됩니다.
  • strings.Fields 함수는 하나의string을 공백 문자에 따라 []string 그룹으로 나누는데 split
  • 과 유사하다

    좋은 웹페이지 즐겨찾기