Go

Go

    [golang] 고루틴(Gorountine)

    고루틴 고루틴. 지난번에 공부했는데 기억이 안나서 기록하면서 공부해보려 합니다. 고루틴은 여러함수를 병행(Concurrent)하게 실행할수 있는 논리적 가상 스레드 입니다. 비동기가 그것을 가능하게 해줍니다. package main import ( "fmt" "math/rand" "time" ) func hello(n int) { r := rand.Intn(3) time.Sleep(time.Duration(r) * time.Second) fmt.Println(n) } func main() { for i := 0; i < 100; i++ { go hello(i) // 고루틴 100개 생성 비동기 실행 } fmt.Scanln() } 위의 코드가 비동기가 아니면 얼마나 오래 걸릴지 생각을 해보면 됩니다. 메인..

    [golang] net/http 처음 사용해보기

    net/http http 패키지부터 한번 사용해보겠습니다. package main import ( "fmt" "net/http" ) func main() { fmt.Print("Hello") http.ListenAndServe("localhost:8080", nil) } 실행해봤습니다. 요청이 들어오고 서버가 응답한것을 확인할수 있습니다. (404) 공식문서(링크)를 한번 봐봅니다. http 패키지가 있고 설명이 있습니다. 그리고 vs code에서 ctrl + 클릭해서 ListenAndServe 를 자세히 봐봅니다. 주소 스트링과, 핸들러를 받습니다. 핸들러가 뭔지 확인해보기위해 핸들러를 또 ctrl + 클릭해보면 Handler 가 사실은 인터페이스인것을 알수 있습니다. 인터페이스에 당연히 함수가 명시되..