Programming Language/Go
[Go] Go언어 튜토리얼_간단한 프로젝트생성(V2)
new_challenge
2020. 4. 3. 00:11
반응형
이번 포스팅은 간단한 프로젝트를 만들어
실행함으로써 고언어에 익숙해지기 위한 튜토리얼
1. 폴더 및 파일 생성
- 프로젝트를 위해 새로운 폴더와 파일을 생성한다
$ mkdir mydict
$ touch mydict.go
2. mydict.go에 대한 코드 작성
package mian
//Dictionary type 생성
type Dictionary map[string]string
//err에 관한 변수 생성
var (
errNotFound = errors.New("not found")
errCantUpdate = errors.New("can't update non-existing word")
errWordExists = errors.New("that word already exists")
)
//Search for a Word
func (d Dictionary) Search(word string) (string, error) {
value, exists := d[word]
if exists {
return value, nil
}
return "", errNotFound
}
//Add a word to the Dictionary
func (d Dictionary) Add(word string, def string) error {
_, err := d.Search(word)
if err = errNotFound {
d[word] = def
}
else if err == nil {
return errWordExists
}
return nil
}
//Update a word
func (d Dictionary) Update(word, def string) error {
_, err := d.Search(word)
switch err {
case nil:
d[word] = definition
case errNotFound:
return errCantUpdate
}
return nil
}
//Delete a word
func (d Dictionary) Delete(word string) {
delete(d, word)
}
>> map 타입을 활용한 go 작성
var ()
- 변수를 여러개 생성할 경우 위와 같이 var () 안에 여러개를 넣어도 된다
func (d Dictionary) Search(word string) (string, error)
- map 타입도 receiver로 작성 할 수 있다.
- return 을 여러개 할 경우 위와 같이 작성
map의 특성
1. map 생성 : type 변수명 map[키타입][값타입]
2. map[키]를 하면 값과 존재여부를 return 한다
3. map[키] = "값"을 하면 새로운 키와 값이 추가된다
4. delete(map, 키)를 하면 값이 삭제된다
3. 실행을 위한 main.go 파일 생성
package main
import "/learngo/mydict"
func main() {
dictionary := mydict.Dictionary{"first": "First word"}
baseWord := "hello"
dictionary.Add(baseWord, "First")
err := dictionary.Update(baseWord, "Second")
if err != nil {
fmt.Println(err)
}
word, _ := dictionary.Search(baseWord)
fmt.Println(word)
dictionary.Delete(baseWord)
_, err = dictionary.Search(baseWord)
if err != nil {
fmt.Println(err)
}
}
>> 위에서 생성한 모든 함수를 실행하고 에러를 확인하는 main.go
>> 최종 출력은 아래와 같다
4. Go언어의 다양한 라이브러리
- Go에서 사용할 수 있는 다양한 라이브러리들이 모아져있다.
- 아래 사이트를 참고해서 필요한 라이브러리를 확인 하고 사용
반응형