Go(Golang)는 구글에서 개발한 프로그래밍 언어로, 빠른 성능과 간결한 문법을 제공.
🚀장점 :
복잡한 문법 없이 직관적으로 코드를 작성.
실행 속도가 빠름.
goroutine을 통해 효율적인 멀티쓰레드 프로그래밍이 가능.
가비지 컬렉션을 지원하여 메모리 누수를 방지.
네트워크, 파일 처리, 암호화 등 다양한 기능을 기본적으로 제공.
코드 재사용이 용이하며, 패키지 관리가 간편.
Go는 특히 웹 서버 개발, 클라우드 서비스, 네트워크 프로그래밍 등에 적합하며, 빠른 성능과 안정성을 원하는 프로젝트에서 많이 사용
설치 :
https://golang.org 접속 > Download > window용 파일 다운로드

다웅받은 파일을 실행하여 기본값으로 설치
설치 후 cmd 실행하여
go version 으로 설치 확인

vsc extension에서 GO 설치

test 폴더 만들어
cd test
go mod init test
...
package test
import (
"log"
"github.com/gofiber/fiber/v2"
)
func main() {
app := fiber.New()
app.Get("/", func(c *fiber.Ctx) error {
return c.JSON(&fiber.Map{"Hello": "World"})
})
log.Fatal(app.Listen(":3000"))
}

package mainimport (
"log"
"os"
"github.com/gofiber/fiber/v2"
"github.com/joho/godotenv"
)
func main() {
if err := godotenv.Load(); err != nil {
log.Fatal("Error loading .env file")
}
// 환경 볂수에서 포트 가져오기
port := os.Getenv("PORT")
if port == "" {
log.Fatal("PORT is not set in the .env file")
port = "3000"
}
app := fiber.New()
app.Get("/", func(c *fiber.Ctx) error {
return c.JSON(&fiber.Map{"Hello": "World"})
})
app.Get("/user/:id", func(c *fiber.Ctx) error {
return c.JSON(&fiber.Map{"id": c.Params("id")})
})
app.Get("/user/:id/:name", func(c *fiber.Ctx) error {
return c.JSON(&fiber.Map{"id": c.Params("id"), "name": c.Params("name")})
})
log.Fatal(app.Listen(":" + port))
}
