Gin? ??? ?? ??
? ???????? ??? ????? ???? ?? ??? ??? ??? ???? ? ?????. Go HTTP ???? ?? ?? ?? ?? ???? ?? ?? ? *os.Error? ???? ?? ?????. ??? ? ?? ??? ???? ???? ?? ?? ??? ??? ? ????.
Gin? ??? ?? ?? ??
Go? ?? ? ?????? Gin? ? ?? ??? ?????. ??? ?? ?? ??? ??? ???? ?? ??? ?? ??? ?? ??? ?????. ??? ?? ?? ??? ???? ???? ???? ?? ??? ???? ? ???? ?????? ???? ???? ??? ? ?? ???? ??? ? ????.
?? ???? ? ?? ??? appError ??? ??? ???? ????. ? ????? ?? ???, ?? ? ?? ?? ??? ?? ??? ??? ? ????. *os.Error ?? *appError? ?????? ?? ???? ???? ???? ??? ???? ??? ? ????.
?? ??? ?? ??? ?? ????
Gin?? ?? ??? ?? ????? ?? ????? ??? ? ????. ???? ??? ? ??? ???? ?? ?????. ?? ?? ??? ???? ?? ????? ?? ??? ?? ???? ??? ??? ? ????.
Gin??? Use(Middleware) ???? ???? ????? ??? ? ????. ??? ???? ????? ?????? ?? ??? ???? ???? ??? ??? ?????? ????? ? ? ????.
???? ?? ??
?? ??? ??? gin.Context.Error()? ???? ?? ????? ?? ??? ??? ? ????. ?? ?? ????? ?? ??? ????? ???? ?????? ??? ??? ?? ? ????.
??? Gin ????? ??? ???? ??? ????.
<code class="go">import "github.com/gin-gonic/gin" type appError struct { Code int `json:"code"` Message string `json:"message"` } func fetchSingleHostGroup(c *gin.Context) { hostgroupID := c.Param("id") hostGroupRes, err := getHostGroupResource(hostgroupID) if err != nil { // Put the error into response c.Error(err) return } // Return data of OK c.JSON(http.StatusOK, *hostGroupRes) }</code>
?? ??? ?? ????
?? ????? ???? ??? ???? ??? ? ????.
<code class="go">import ( "github.com/gin-gonic/gin" "log" ) func JSONAppErrorReporter() gin.HandlerFunc { return func(c *gin.Context) { c.Next() detectedErrors := c.Errors.ByType(gin.ErrorTypeAny) log.Println("Handle APP error") if len(detectedErrors) > 0 { err := detectedErrors[0].Err var parsedError *appError switch err.(type) { case *appError: parsedError = err.(*appError) default: parsedError = &appError{ Code: http.StatusInternalServerError, Message: "Internal Server Error", } } // Put the error into response c.IndentedJSON(parsedError.Code, parsedError) c.Abort() } } }</code>
? ????? ? ?? ? ?????? ??? ???? ?? ??? ????. ??? JSON ???? ?????? ?????.
??? ?? ?? ??, ???? ? ???? ?? ??? ???? Gin?? ???? ?? ???? ?? ??? ??? ? ????. ? ?? ??? ??? ????? ????, ?????? ???? ?? ??? ???? ??, ???? ?? ??? ???? ? ?? ??? ?????.
? ??? ? ??????? ?? ??? ???? ?? Gin? ??? ??? ? ?????? ?? ?????. ??? ??? PHP ??? ????? ?? ?? ??? ?????!

? AI ??

Undress AI Tool
??? ???? ??

Undresser.AI Undress
???? ?? ??? ??? ?? AI ?? ?

AI Clothes Remover
???? ?? ???? ??? AI ?????.

Clothoff.io
AI ? ???

Video Face Swap
??? ??? AI ?? ?? ??? ???? ?? ???? ??? ?? ????!

?? ??

??? ??

???++7.3.1
???? ?? ?? ?? ???

SublimeText3 ??? ??
??? ??, ???? ?? ????.

???? 13.0.1 ???
??? PHP ?? ?? ??

???? CS6
??? ? ?? ??

SublimeText3 Mac ??
? ??? ?? ?? ?????(SublimeText3)

tointegrategolangservices? ?? intectapisorgrpcforinter-servicecommunication, userestapis (viaframworks likeginingoandflaskinpython) orgrppc (viframsks with protoco)? ?????

golangofferssuperiorperperperperferforperformance, nativeconcurrencyviagoroutines ? lefficientresourceusage, makingitidealforhigh-traffic, 2.python, whileslowerduetointerpretationandghilegil, arrethecoSystem, andisbettersuitedfori/o-ko

Golang? ?? ??? ??? ????? ??? ?? ???? ??? ? ??? ? ?? ????. ?? ??? ???, ?? ?? ? ??? ?? ?????? ????? API ??, ???? ???, ?? ???, ?????? ?? ? CLI ??? ?? ??? ?? ????? ???? ? ?????. Golang? ? ??? ??? ?? ??? ???? Gopherjs? ?? JavaScript? ?????? Tinygo? ?? WebAssembly?? ????? ??? ?? ??? ???? ?? ??? ???? HTML ???? ?? ? ? ????. ??? ???? ??? ?? ??? ??? ??JavaScript/TypeScript ? ???? ???????. ??? Golang? ??? ???? ???? ?? ?? ??? ? ?????.

GO? ???? ?? ??? ??? ???? ?? ??? ???? ??? ???? ????. 1. ?? ???? ?? ???? ??????? ?? ? ???? ??????. Windows? .msi ??? ???? MacOS? .pkg ??? ???? Linux? .tar.gz ??? ???? /usr /local ????? ??? ????. 2. Linux/MacOS?? ?? ??, ?? ~/.bashrc ?? ~/.zshrc? ???? ??? Gopath? ???? Windows Set ??? ??? ???? ?????. 3. ?? ??? ???? ??? ???? ??? ???? Hello.Go? ???? ?? ? ??? ???? ??????. ???? ???? ?? ?? ? ??

GO?? GraphQlapi? ????? GQLGEN ?????? ???? ?? ???? ????? ?? ????. 1. ?? ???? ???? ?? ?? ??? ???? GQLGEN? ?? ??? ?????? ??????. 2. ?? ?? GraphQLSchema? ???? POST ?? ? ?? ??? ??? ?? API ?? ? ?? ??? ??????. 3. ?? ?? ????? ????? ?? ??? ???? Resolver?? ???? ??? ?????. 4. ????? ??? Qlhandler? httpserver? ???? ?? ???? ?? API? ???????. ?? ?? ?? ??, ?? ??, ?? ??? ? ?? ??? ???? ???? ?? ??? ?????.

???? ??? ??? ??? ??? ???? ?? ??, ? ?? ?? ? ?? ??? ?? ???????. 1. ??? ?? ??? ??? ? Kitex ?? Gomicro of Go? ?? ??? ????, ?? Kitex? ??? ??? ???? ? ??? ???? ?????. 2. Fastapi ?? Flask of Python? ??? ? ? MVP ????? ??? ?? ?? ? ?? ?????? ? ?????. 3. ?? ?? ??? ?? ??? ???? ??? ??? ?? ?? ? ?? ?? ? ??????. Python ?? ?? ??? ???? ??? ? ? ????. 4. GO ??? ??? ??? ???? ????? ? ???? ?? ?? ??? ?? ???? ?? ? ?? ???? ?????. 5. ?? ?? ? ??? ??? ???? ?? ??? ?? ????? ????? ?? ? ? ????.

Golang? ????? ? ???? ?? ? ? Python?? CPU? ???? ? ?????. 1. Golang? Goroutine ??? ????? ????? ?? ?? ?? ??? ??? CPU ???? ????. 2. GO? ?? ??? ????? ??? ?? ?? ??? ???? ??? ??? ???? ????. 3. Python? GIL ? ?? ?? ?????? ?? ?? ?????? ? ? CPU ? ??? ?? ??? ????. 4. Python? ?? ???? ?? ???? ????? ??? ?? ??? ?? ????? ??? ?? ??? ?????.

sync.waitgroup? ?? ? ??? ??? ?? ? ??? ???? ? ?????. ??? ??? ? ?? ??? ?? ?? ??? ???? : ??, ?? ? ??. 1. Aadd (n) ?? ? ?? ? ?? ?????. 2. DONE ()? ? ? ??? ??? ???? ???? 1 ? ?? ???. 3. Wait ()? ?? ??? ?? ? ??? ?? ? ??? ?????. ?? ??? ?? ?? ?? : ADD? ?? ? ???? ????????. ?? ??? ??? DON? ????? ??????. ??? ?? ???? ?? ????. ? ???? ?? ???, ?? ??? ?? ? ?? ?????? ????? ??? ????? ????? ?? ? ? ????.
