[golang] 처음 시작하는 웹서버

Edward Hyun·2021년 11월 18일
0

backend

목록 보기
10/120
package main

import (
	"fmt"
	"net/http"
)

type fooHandler struct{}

func (f *fooHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) {
		fmt.Fprint(w, "Hello Foo!")
	}

func main() {
	http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
		fmt.Fprint(w, "Hello world")
	})
	http.HandleFunc("/bar", func(w http.ResponseWriter, r *http.Request) {
		fmt.Fprint(w, "Hello Bar!")
	})
	http.Handle("/foo", &fooHandler{})
	http.ListenAndServe(":3000", nil)
}


아주 간단하게 시작함.

http.HandleFunc :: 라우터 경로에 해당하는 request 들어왔을 때 처리하는 핸들러 함수 만들기
http.Handle :: 라우터 경로에 해당하는 request 들어왔을 때 처리하는 핸들러(미리 만든 함수) 등록
http.ListenAndServe :: 포트에서 request 대기 - listen포트 설정
fmt.Fprint :: writer에 출력하도록.

  • type Handler interface{ ServeHTTP(ResponseWriter, *Request) } :: 함수 하나를 가진 인터페이스

참고 :: https://www.youtube.com/watch?v=4Oml8mbBXgo&list=PLy-g2fnSzUTDALoERcKDniql16SAaQYHF&index=1

profile
앱&웹개발(flutter, vuejs, typescript, react), 인공지능(nlp, asr, rl), 백엔드(nodejs, flask, golang, grpc, webrtc, aws, msa, nft, spring cloud, nest.js), 함수형 프로그래밍(scala, erlang)을 공부하며 정리합니다.

0개의 댓글