これらのコード例は、Web アプリケーションの構築 (Gin)、API の管理 (Echo)、分散システムの操作 (Consul)、イベント駆動型通信 (NATS) の使用、ORM を使用したデータベース管理 (GORM) など、Go フレームワークの使用法を示しています。 )。
Go フレームワークのコード例: 強力な Web およびクラウド ネイティブ アプリケーションの構築
はじめに
Go 言語は、その効率性、同時実行性、クロスプラットフォーム機能で知られており、Web およびクラウド ネイティブの構築に最適です。アプリケーションでは動作します。この記事では、Web 開発から API 管理、分散システムまですべてをカバーする、さまざまな Go フレームワークのコード例をまとめています。
1. Web フレームワーク
Gin: 高性能で軽量な Web フレームワーク:
func main() { r := gin.Default() r.GET("/users/:name", func(c *gin.Context) { name := c.Param("name") c.JSON(200, gin.H{ "name": name, "message": "Hello " + name, }) }) r.Run() }
2. API 管理フレームワーク
Echo: 高性能でシンプルな RESTful API フレームワーク:
func main() { e := echo.New() e.GET("/users/:id", func(c echo.Context) error { id := c.Param("id") return c.JSON(http.StatusOK, map[string]interface{}{ "id": id, "name": "John Doe", }) }) e.Logger.Fatal(e.Start(":1323")) }
3. 分散システム フレームワーク
Consul: 軽量で高性能な分散サービス検出および構成管理フレームワーク:
// 创建一个 Consul 客户机 client, err := consul.NewClient(consul.DefaultConfig()) if err != nil { log.Fatal(err) } // 注册一个服务 err = client.Agent().ServiceRegister(&consul.AgentServiceRegistration{ ID: "user-service", Name: "user-service", Port: 8000, Address: "127.0.0.1", }) if err != nil { log.Fatal(err) }
4. イベント駆動型フレームワーク
NATS: 高性能、メッセージ駆動型コミュニケーション プラットフォーム:
// 创建一个 NATS 连接 conn, err := nats.Connect("nats://127.0.0.1:4222") if err != nil { log.Fatal(err) } // 创建一个发布者 publisher, err := conn.PublishAsync("orders", nil) if err != nil { log.Fatal(err) } // 发送消息 publisher.Msg.Data = []byte("Hello World") publisher.Publish() // 创建一个订阅者 subscriber, err := conn.Subscribe("orders", func(m *nats.Msg) { log.Println("Received a message:", string(m.Data)) }) if err != nil { log.Fatal(err) }
5. データベース フレームワーク
GORM: 簡単で効率的な ORM (オブジェクト リレーショナル マッピング) フレームワーク:
import ( "fmt" "gorm.io/driver/mysql" "gorm.io/gorm" ) // 创建一个 GORM 句柄 db, err := gorm.Open(mysql.Open("user:password@tcp(127.0.0.1:3306)/database"), &gorm.Config{}) if err != nil { log.Fatal(err) } // 创建一个 User 模型 type User struct { ID uint `gorm:"primary_key"` Name string `gorm:"not null"` Email string `gorm:"unique;not null"` Age int `gorm:"not null"` Active bool `gorm:"default:false"` JoinedAt time.Time `gorm:"autoCreateTime"` } // 执行查询并查看结果 results := db.Model(&User{}).Where("name = ?", "John").Find(&users) if results.Error != nil { log.Fatal(results.Error) } fmt.Println(users)
結論
これらのコードは、広範さと機能を強調しています。 Go フレームワークの評価を獲得し、Go が堅牢、効率的、スケーラブルな Web およびクラウドネイティブ アプリケーションを構築するための優れた選択肢であることを証明しました。
以上がgolang フレームワークのコード例のまとめの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。