? ????? Gin, Echo, Gorilla Mux, Beego, Revel, Fiber ? go-zero/rest ? 7?? ?? Go ? ?????? ?????. ??? ?? ??? ??? ?? ??? ?? ???? ???? ?????. ??? ?? ?? ??? "Hello, World!"? ?????. ?????.
1. ?
- ?? ??: ??? ????? ??? ?? ??(???, ????, ???? ???, JSON/XML ???).
- ?? ??:
package main import "github.com/gin-gonic/gin" func main() { router := gin.Default() router.GET("/hello", func(c *gin.Context) { c.JSON(200, gin.H{ "message": "Hello, world!", }) }) router.Run(":8080") }
2. ??
- ?? ??: ??, ???, ??? API.
- ?? ??:
package main import ( "net/http" "github.com/labstack/echo/v4" ) func main() { e := echo.New() e.GET("/hello", func(c echo.Context) error { return c.String(http.StatusOK, "Hello, World!") }) e.Start(":8080") }
3. ??? ??
- ?? ??: ??? ??? ??, ??? ?? ?? ? ??.
- ?? ??:
package main import ( "fmt" "net/http" "github.com/gorilla/mux" ) func main() { r := mux.NewRouter() r.HandleFunc("/hello", func(w http.ResponseWriter, r *http.Request) { fmt.Fprintln(w, "Hello, world!") }) http.ListenAndServe(":8080", r) }
4. ??
- ?? ??: ?? ??? ?? MVC ?????, ?? ??(???, ????, ORM).
- ?? ??:
package main import ( "github.com/astaxie/beego" ) type MainController struct { beego.Controller } func (c *MainController) Get() { c.Ctx.WriteString("Hello, world!") } func main() { beego.Router("/hello", &MainController{}) beego.Run(":8080") }
5. ??
- ?? ??: ???, ???? ? ??? ??? ???? ???? ?? ? ?? ?????.
- ?? ??:
package main import "github.com/revel/revel" func Hello() revel.Result { return revel.Text("Hello, world!") } func main() { revel.Get("/hello", Hello) revel.Run(":8080") }
6. ??
- ?? ??: Express.js? ???? ???, ???? ??? API.
- ?? ??:
package main import "github.com/gofiber/fiber/v2" func main() { app := fiber.New() app.Get("/hello", func(c *fiber.Ctx) error { return c.SendString("Hello, world!") }) app.Listen(":8080") }
7. ??/??
- ?? ??: ???? ???? ?? RESTful API ?????? ?? ???? ?????.
- ?? ??:
package main import ( "net/http" "github.com/zeromicro/go-zero/rest" ) func main() { engine := rest.NewEngine() defer engine.Stop() engine.AddRoute(rest.Route{ Method: http.MethodGet, Path: "/hello", Handler: helloHandler, }) engine.Start() } func helloHandler(w http.ResponseWriter, r *http.Request) { w.Write([]byte("Hello, world!")) }
????? ???:
? ?????? ??? ???? ???? ??? ???? ??? ????. (??: ?? ?? ??? ???? ????. ?? ?? ?? ???? ??? ?? ??? ? ????.)
?? | ? | ?? | ??? Mux | Beego | Revel | Fiber | go - ??/??? |
---|---|---|---|---|---|---|---|
?? | ? ????? | ? ????? | ? ????? | MVC ????? | ? ?? ????? | ? ????? | ? ????? |
??? ?? | ?? ???? ???? ???? | ?? ???? ???? ???? | ?? ??? ??? ?? | ?? ??? ?? ?? | ?? ??? ?? ?? | ?? ???? ??? | ?? ???? ???? ???? |
???? ?? | ?? ?? | ?? ?? | ? ?? ???? ????? ?? | ?? ?? | ?? ?? | ?? ?? | ?? ?? |
??? ?? | ? ???? ?? | ? ???? ??? ?? ?? ?? ??? ?? | ? ???? ?? | ?? ??? ?? ?? | ?? ??? ?? ?? | ? ???? ?? | ? ?? ?? |
ORM | ? ???? ?? | ? ???? ?? | ? ???? ?? | ?? ??- ORM | ?? ?? ORM | ? ???? ?? | ?? ??? |
WebSocket ?? | ? ???? ?? | ? ???? ?? | ? ?? ?? | ? ???? ?? | ?? ?? | ? ???? ?? | ? ???? ?? |
?? ???? | ?? ??? ?? ?? | ?? ?? ??? ?? | ?? ?? ??? ?? | ?? ?? ??? ?? | ?? ?? ??? ?? | ?? ?? ??? ?? | ?? ?? ??? ?? ?? |
?? | ?? | ?? | ????? ? | ?? | ?? | ?? | ?? |
???? ?? | ?? ??? ???? ?? | ?? ??? ???? ?? | ?? ??? ???? ?? | ?? ??? ???? ?? | ?? ??? ???? ?? | ?? ???? ???? ?? | ?? ??? ???? ?? |
?? ?? | ?? | ?? | ?? | ?? | ?? | ?? | ?? |
?? ?? | ?? | ?? | ? | ?? ? | ?? | ?? | ?? |
GitHub ? | 42.7? | 20.3? | 17.2? | 12.5k | 12.2k | 12.4k | 7.5k |
??? ???? ?? ?? | ?? ?? | ?? ?? | ?? ?? | ?? ?? | ?? ?? | ?? ?? | ?? ?? |
?? ?? ??? | ?? ?? | ? ?? ???? ????? ?? | ? ?? ????? ????? ????? | ?? ?? | ? ?? ???? ????? ?? | ? ?? ???? ????? ?? | ? ?? ???? ????? ?? |
??? ???? | ?? ?? | ?? ?? | ? ?? ???? ????? ?? | ?? ?? | ?? ?? | ?? ?? | ?? ?? |
??? ?? | ?? ?? | ?? ?? | ?? ?? | ?? ?? | ?? ?? | ?? ?? | ? ???? ?? |
??? ?? | ?? ?? | ? ?? ?? | ? ???? ?? | ?? ??? | ? ???? ?? | ? ???? ?? | ? ???? ?? ?? |
?? | ?? | ?? | ?? | ?? | ?? | ?? | ?? |
??? ??? ?? | ?? ?? | ?? ?? | ?? ?? | ?? ?? | ?? ?? | ?? ?? | ?? ?? |
??? | ???? | ???? | ???? | ???? | ?? ?? | ?? ?? | ?? ?? |
?? ??? | ?? | ?? | ?? | ?? ium | ?? | ?? | ?? |
Leapcell: Go ? ???? ?? ??
Leapcell? Go ??? ??? ??? ???? ????? ?????. ?? ????? ??? ??, ??? ???? ?? ??(???), ?? ???, ???? ??? ??, ??? ??? ? ??? ?? ????.
??? ??? Leapcell ???? Twitter ??? ?????. http://ipnx.cn/link/7884effb9452a6d7a7a79499ef854afd
? ??? ? ??? ?? Go ????? ??? ?? ?????. ??? ??? 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)

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?? GraphQlapi? ????? GQLGEN ?????? ???? ?? ???? ????? ?? ????. 1. ?? ???? ???? ?? ?? ??? ???? GQLGEN? ?? ??? ?????? ??????. 2. ?? ?? GraphQLSchema? ???? POST ?? ? ?? ??? ??? ?? API ?? ? ?? ??? ??????. 3. ?? ?? ????? ????? ?? ??? ???? Resolver?? ???? ??? ?????. 4. ????? ??? Qlhandler? httpserver? ???? ?? ???? ?? API? ???????. ?? ?? ?? ??, ?? ??, ?? ??? ? ?? ??? ???? ???? ?? ??? ?????.

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

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? ????? ??????. ??? ?? ???? ?? ????. ? ???? ?? ???, ?? ??? ?? ? ?? ?????? ????? ??? ????? ????? ?? ? ? ????.

Go? Embed ???? ???? ? ???? ??? HTML, CSS, ?? ? ?? ??? ???? ? ??? ?? ???? ????? ?? ???? ? ????. 1. ?? ? ???? ????? ??????. 2. ??/*? ?? ?? ????? ??? ? ??? embed.fs? ?? ?? ?? ??? ??? ? ????. 3. ?? ?? ?? ?? ??? ?? ??? ?? ??? ???? ???? ????? ?? ????. 4. ???? ???? ?? ???, ?? ?? ?? ? ?? ?? ?????????. Embed? ???? ??? ??? ????? ???? ??? ??? ? ? ????.

WhenCogingBetwengolangpyThonforCodeReadability ? Mainability, TheDecisionHiSontEamPriorities.1.GolangoffersstrictConsistencyWithminimal, OpinionatedSyntaxandBuilt-Intooling-intoofmt, inficeUniformcodestyleanDearlyErrordetection.2
