Gin 실행 환경 만들기

4206 단어 5gin
최근 Google에서 조사하고 있을 때나 SNS에서 자주 보는 Go이지만, 아무래도 웹 프레임워크도 존재하고 있어 표준 라이브러리와는 어떻게 다른지를 볼 수 있도록, 우선은 프레임워크의 하나이다 Gin 패키지를 설치하려고합니다.

Gin이란?



Gin은 Go 언어로 작성된 웹 프레임 워크입니다. httprouter 덕분에 최대 40배 빠른 성능을 갖춘 Martini와 같은 API를 갖추고 있습니다. 퍼포먼스와 뛰어난 생산성이 필요하다면 진을 좋아할 것입니다.
인용구 : Gin 공식 GitHub

작업환경



OS: Windows10 Home
프로세서: Intel(R) Core(TM) i5-3210M CPU2.50 GHz
RAM: 8.00GB(7.88GB 사용 가능)

Go: 1.16.7 windows/amd64

Gin 설치



Gin 공식 GitHub README 에 쓰여진 대로 실행해 나가려고 합니다.
우선은 이하의 커멘드를 실행해 Gin의 패키지를 취득. 에러등이 나오지 않으면 이것으로 인스톨은 완료입니다.
go get -u github.com/gin-gonic/gin

다음에 임포트에 관해서입니다만, 문두의 import 부분에 이하와 같이 기술하는 것 같습니다.
import "github.com/gin-gonic/gin"

간단한 코드 실행



디렉토리 구성
GOPATH/
├ bin/
 │ └ 생략
├ pkg/
 │ └ 생략
 │   
 └ src/
   └ test/
     └ main.go

공식 코드를 조금 수정한 것을 실행해 보겠습니다.

src/test/main.go
package main

import "github.com/gin-gonic/gin"

func main() {
    r := gin.Default()
    r.GET("/", func(c *gin.Context) {
        c.JSON(200, gin.H{
            "message": "Hello World!",
        })
    })
    r.Run()
}

go run에서 실행.

src/test
go run main.go

그러면 오류가 발생했습니다.

src/test
src\test\main.go:3:8: no required module provides package github.com/gin-gonic/gin: go.mod file not found in current directory or any parent directory; see 'go help modules'

조사한 결과, 아래 명령을 작업하는 디렉토리에서 실행하면 해결되었습니다.

src/test
go mod init
go get -u github.com/gin-gonic/gin

그대로 작업 디렉토리에서 다시 go run을 실행.

src/test
go run main.go

실행하면 아래와 같이 디버그 로그가 나온다고 생각합니다.

src/test
[GIN-debug] [WARNING] Creating an Engine instance with the Logger and Recovery middleware already attached.

[GIN-debug] [WARNING] Running in "debug" mode. Switch to "release" mode in production.
 - using env:   export GIN_MODE=release
 - using code:  gin.SetMode(gin.ReleaseMode)

[GIN-debug] GET    /                         --> main.main.func1 (3 handlers)
[GIN-debug] Environment variable PORT is undefined. Using port :8080 by default
[GIN-debug] Listening and serving HTTP on :8080

포트는 8080에서 대기하고 있는 것 같기 때문에 브라우저로부터 http://localhost:8080 에 액세스 합니다.

위와 같이 표시할 수 있으면 성공입니다. 서버를 떨어뜨릴 때는 명령행에서 Ctrl+C로 종료할 수 있습니다.

좋은 웹페이지 즐겨찾기