본문 바로가기
반응형

SW LAB122

[Google Go 언어] 미니 프로젝트 : Scrapper + Web Step 1 기존 Scrapper 에서 Web을 이용하여 검색어를 입력해보자. 검색어에 맞춰 데이터를 수집하고, 파일을 다운로드 및 삭제해보자. `scrapper/scrapper.go` Windows 에서 읽기가 가능하도록 utf8bom 을 설정 추가 파일 삭제가 가능하도록 flush 추가 package scrapper import ( "encoding/csv" "fmt" "log" "net/http" "os" "strconv" "strings" "time" "github.com/PuerkitoBio/goquery" ) type extractedJob struct { id string title string location string salary string summary string } func Sc.. 2021. 11. 22.
[Google Go 언어] 미니 프로젝트 : Scrapper Step 1 각 페이지에서 상세 정보를 읽고 CSV로 저장하자 `totalPages := getPages()` 에서 페이지 링크를 취합 `go getPage(i, c)` 에서 각 페이지마다 스크랩 시작 위 함수 내부의 `go extractJob(card, c)`에서 상세정보 취합 `jobs = append(jobs, extractedJobs...)` 에서 취합된 상세 정보 병합 `writeJobs(jobs)` 에서 CSV로 파일 출력 package main import ( "encoding/csv" "fmt" "log" "net/http" "os" "strconv" "strings" "time" "github.com/PuerkitoBio/goquery" ) type extractedJob struct {.. 2021. 11. 22.
[Google Go 언어] 미니 프로젝트 : URL Checker Step 1 여러 개의 URL의 상태를 순차적으로 체크해보자 `main.go` package main import ( "errors" "fmt" "net/http" ) var errRequestFailed = errors.New("Request failed") func main() { var results = make(map[string]string) urls := []string{ "https://www.airbnb.com/", "https://www.google.com/", "https://www.amazon.com/", "https://www.reddit.com/", "https://www.google.com/", "https://soundcloud.com/", "https://www.faceboo.. 2021. 11. 16.
[Google Go 언어] 미니 프로젝트 : Dictionary Step 1 Struct 를 이용하여 내부 func를 활용한 func 를 만들어보자 단어를 추가하고 에러 처리를 해보자 `mydict.go` package mydict import "errors" // Dictionary type type Dictionary map[string]string var errNotFound = errors.New("Not Found") var errWordExists = errors.New("That word already exists") // Seaerch for a word func (d Dictionary) Search(word string) (string, error) { value, exists := d[word] // exists 는 true/false if exi.. 2021. 11. 16.
[Google Go 언어] 미니 프로젝트 : Banking Step 1 Account 를 생성하는 모듈을 만들고, Main 에서 호출해보자. Account 의 경우 func 를 이용하여 생성하자 `accounts.go` package accounts // Account Struct type Account struct { owner string balance int } // NewAccount creates Account func NewAccount(owner string) *Account { account := Account{owner: owner, balance: 0} return &account } `main.go` package main import ( "fmt" "kjham/learngo_banking/accounts" ) func main() { acc.. 2021. 11. 16.
[Google Go 언어] 기본 문법 func // 배열 인자 받는 법 func receiveStringArray(word ...string) { } // 인자 타입 생략 func summaryParamType(a, b int) int { return a * b } // defer 사용과 다중 데이터 반환 func deferFunction(name stirng) (int, string) { defer fmt.Println("After call") return len(name), strings.ToUpper(name) } for func superAdd(numbers ...int) int { total := 0 for _, number := range numbers { total += number } for i := 0; i < len(num.. 2021. 11. 16.
반응형