상식닷컴
로그인
가입하기
2026년 상식닷컴 선정 식당 & 카페 리스트
2025년 2026년 신상 호텔 리스트
최근에 오픈한 호텔을 찾는다면 살펴보세요
일주일 식단표 어플
자동 일주일 식단표 어플
안드로이드
아이폰
주식 & 코인 차트의 신
1000만원으로 2000만원 만들기 프로젝트
궁금한 상식 보기
몽골에서의 패션 트렌드는 어떤가요?
식당폐업 시 필요하지 않은 사업 라이센스의 처리 방법은?
대나무와 대나무 숲의 생물 다양성은 어떤 관계가 있나요?
대나무에 어떤 해충이 영향을 미칠 수 있나요?
대나무의 성장을 촉진하기 위한 특정 비료는 무엇인가요?
대나무 숲을 보호하기 위한 노력은 어떤 것이 있는가요?
대나무와 관련된 다양한 제조업체는 누구인가요?
몽골 여행을 떠나기 전에 숙지해야 할 언어는 무엇인가요?
고등학교 시절의 내 꿈과 현재 꿈은 어떻게 다른가요?
고등학교 졸업 후 가장 큰 변화는 무엇이었나요?
간호조무사로서의 업무를 위해 팀워크가 중요한 이유는 무엇인가요?
노트북 수리 시, 외부 장치에 문제 발생 시 어떻게 해야 하나요?
Previous
Next
수정하기 - Go 언어의 `http.HandleFunc`는 어떤 역할을 하나요?
닉네임
비밀번호
제목
내용
[이미지 업로드는 권한이 있는 사람만 가능. 하단 카톡으로 연락]
Go 언어에서 `http.HandleFunc`는 HTTP 요청을 처리하기 위한 핸들러 함수를 등록하는 데 사용되는 함수입니다. Go의 `net/http` 패키지에 포함되어 있으며, 웹 서버를 구축할 때 매우 중요한 역할을 합니다. 이 함수는 특정 URL 경로에 대해 요청이 들어올 때 호출될 함수를 지정합니다. 기본 사용법 `http.HandleFunc`의 기본적인 사용법은 다음과 같습니다: ```go package main import ( "fmt" "net/http" ) func helloHandler(w http.ResponseWriter, r *http.Request) { fmt.Fprintf(w, "Hello, World!") } func main() { http.HandleFunc("/", helloHandler) // "/" 경로에 대해 helloHandler 등록 http.ListenAndServe(":8080", nil) // 8080 포트에서 서버 시작 } ``` 위의 예제에서 `http.HandleFunc("/", helloHandler)`는 루트 경로("/")에 대한 HTTP 요청이 들어올 때 `helloHandler` 함수를 호출하도록 설정합니다. 이 핸들러 함수는 `http.ResponseWriter`와 `*http.Request`를 매개변수로 받아, 클라이언트에게 응답을 작성하고 요청에 대한 정보를 처리할 수 있습니다. 매개변수 설명 - 패턴 (pattern) : 첫 번째 매개변수는 URL 경로를 나타내는 문자열입니다. 이 경로는 요청이 들어올 때 어떤 핸들러가 호출될지를 결정합니다. 예를 들어, `/users`와 같은 경로를 지정하면 해당 경로로 들어오는 요청에 대해 지정된 핸들러가 호출됩니다. - 핸들러 함수 (handler) : 두 번째 매개변수는 HTTP 요청을 처리할 함수입니다. 이 함수는 `http.ResponseWriter`와 `*http.Request`를 인자로 받아야 하며, 클라이언트에게 응답을 작성하고 요청 정보를 처리하는 역할을 합니다. 여러 핸들러 등록 `http.HandleFunc`를 사용하여 여러 경로에 대해 다양한 핸들러를 등록할 수 있습니다. 예를 들어: ```go http.HandleFunc("/hello", helloHandler) http.HandleFunc("/goodbye", goodbyeHandler) ``` 위와 같이 여러 경로에 대해 각각 다른 핸들러를 등록할 수 있습니다. 이 경우 `/hello` 경로로 요청이 들어오면 `helloHandler`가 호출되고, `/goodbye` 경로로 요청이 들어오면 `goodbyeHandler`가 호출됩니다. <a href='https://sangseek.com/sangseeks/패턴 매칭/ko'>패턴 매칭</a> `http.HandleFunc`는 패턴 매칭을 통해 요청을 처리합니다. 기본적으로는 <a href='https://sangseek.com/sangseeks/문자열 비교/ko'>문자열 비교</a>를 통해 경로를 매칭하지만, Go의 `http.ServeMux`를 사용하면 더 복잡한 패턴 매칭도 가능합니다. 예를 들어, URL 경로의 일부가 동적일 경우, `http.ServeMux`를 사용하여 경로 변수와 같은 기능을 구현할 수 있습니다. 미들웨어와의 조합 `http.HandleFunc`는 미들웨어와 함께 사용될 수 있습니다. 미들웨어는 요청을 처리하기 전에 또는 후에 추가적인 작업을 수행하는 함수입니다. 예를 들어, 인증, 로깅, CORS 처리 등을 미들웨어로 구현할 수 있습니다. 미들웨어를 사용하면 코드의 재사용성과 유지보수성을 높일 수 있습니다. 결론 `http.HandleFunc`는 Go 언어에서 웹 서버를 구축할 때 필수적인 도구입니다. 이 함수를 사용하여 URL 경로에 대한 요청을 처리할 핸들러를 등록함으로써, 개발자는 간단하고 직관적인 방식으로 웹 애플리케이션을 구축할 수 있습니다. Go의 강력한 동시성 모델과 결합하여, `http.HandleFunc`는 효율적이고 확장 가능한 웹 서버를 만드는 데 기여합니다.
이용안내
커뮤니티 이용안내
×
- 게시한 게시글로 발생하는 문제는 게시자에게 책임이 있습니다.
- 게시글이 타인/타업체의 저작권을 침해할 경우 모든 책임은 게시자에게 있습니다. 게시자가 모든 손해를 부담해야 합니다.
- 상식닷컴 운영자는 게시자와 상의하지 않고 게시글을 수정 또는 삭제할 수 있습니다.
- 상식닷컴 운영자는 깨끗한 커뮤니티 공간을 만드는 것이 1순위입니다.
수정하기
취소하기