mirror of
				https://github.com/gin-gonic/gin.git
				synced 2025-10-29 13:32:11 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			46 lines
		
	
	
		
			747 B
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			46 lines
		
	
	
		
			747 B
		
	
	
	
		
			Go
		
	
	
	
	
	
| // +build go1.8
 | |
| 
 | |
| package main
 | |
| 
 | |
| import (
 | |
| 	"log"
 | |
| 	"net/http"
 | |
| 	"os"
 | |
| 	"os/signal"
 | |
| 
 | |
| 	"github.com/gin-gonic/gin"
 | |
| )
 | |
| 
 | |
| func main() {
 | |
| 	router := gin.Default()
 | |
| 	router.GET("/", func(c *gin.Context) {
 | |
| 		c.String(http.StatusOK, "Welcome Gin Server")
 | |
| 	})
 | |
| 
 | |
| 	server := &http.Server{
 | |
| 		Addr:    ":8080",
 | |
| 		Handler: router,
 | |
| 	}
 | |
| 
 | |
| 	quit := make(chan os.Signal)
 | |
| 	signal.Notify(quit, os.Interrupt)
 | |
| 
 | |
| 	go func() {
 | |
| 		<-quit
 | |
| 		log.Println("receive interrupt signal")
 | |
| 		if err := server.Close(); err != nil {
 | |
| 			log.Fatal("Server Close:", err)
 | |
| 		}
 | |
| 	}()
 | |
| 
 | |
| 	if err := server.ListenAndServe(); err != nil {
 | |
| 		if err == http.ErrServerClosed {
 | |
| 			log.Println("Server closed under request")
 | |
| 		} else {
 | |
| 			log.Fatal("Server closed unexpect")
 | |
| 		}
 | |
| 	}
 | |
| 
 | |
| 	log.Println("Server exiting")
 | |
| }
 |