Go言語を使用して注文システムのレストラン検索機能を開発する方法
Go 言語を使用して注文システムのレストラン検索機能を開発する方法
現代社会では、人々は食べ物を注文するためにインターネットとモバイル デバイスへの依存度が高まっています。 。テイクアウトおよびケータリング業界の急速な発展に伴い、効率的かつ正確なレストラン検索機能は、注文システムのユーザー エクスペリエンスにとって特に重要です。この記事では、Go 言語を使用して注文システムのレストラン検索機能を開発する方法と、参考となる具体的なコード例を紹介します。
1. データベース設計
レストラン検索機能を開発する前に、まず関連情報を格納するレストラン データベースを設計および構築する必要があります。以下はデータベース テーブル構造の例です。
CREATE TABLE `restaurants` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(255) NOT NULL, `address` varchar(255) NOT NULL, `city` varchar(255) NOT NULL, `province` varchar(255) NOT NULL, `country` varchar(255) NOT NULL, `latitude` float(10,6) NOT NULL, `longitude` float(10,6) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
これは、ID、名前、住所、市、県、国、経度、緯度などのフィールドを含む簡略化されたレストラン テーブルです。実際のニーズに応じて、ビジネス シナリオに応じて関連フィールドを追加または変更できます。
2. 依存関係のインポート
開発を開始する前に、まず対応する Go 言語の依存関係パッケージをインポートする必要があります。 HTTP リクエストとレスポンスの処理には gin を使用し、データベースの操作には gorm を使用します。
go get -u github.com/gin-gonic/gin go get -u gorm.io/gorm go get -u gorm.io/driver/mysql
3. コードの作成
次は、レストラン検索機能を実装するためのサンプル コードです:
package main import ( "fmt" "github.com/gin-gonic/gin" "gorm.io/driver/mysql" "gorm.io/gorm" "net/http" ) type Restaurant struct { ID uint `gorm:"primaryKey"` Name string `gorm:"column:name"` Address string `gorm:"column:address"` City string `gorm:"column:city"` Province string `gorm:"column:province"` Country string `gorm:"column:country"` Latitude float64 `gorm:"column:latitude"` Longitude float64 `gorm:"column:longitude"` } func main() { dsn := "<mysql connection string>" db, err := gorm.Open(mysql.Open(dsn), &gorm.Config{}) if err != nil { panic("Failed to connect to database") } db.AutoMigrate(&Restaurant{}) router := gin.Default() router.GET("/restaurants/search", func(c *gin.Context) { keyword := c.Query("keyword") var restaurants []Restaurant result := db.Where("name LIKE ?", fmt.Sprintf("%%%s%%", keyword)).Find(&restaurants) if result.Error != nil { c.JSON(http.StatusInternalServerError, gin.H{"error": "Failed to retrieve restaurants"}) return } c.JSON(http.StatusOK, restaurants) }) router.Run(":8080") }
上記のコードでは、まず、マッピング データベース用を使用してレストラン構造を定義します。テーブルのフィールド。次に、データベースへの接続を確立し、テーブル構造を自動的に移行しました。次に、ルートを作成し、GET リクエストのハンドラー関数を定義しました。
処理関数では、まずユーザーから渡されたキーワード パラメータ キーワードを取得します。次に、gorm の Where メソッドを使用してあいまい一致クエリを実行し、名前にキーワードが含まれるレストランをすべて検索します。最後に、クエリ結果が JSON 形式でクライアントに返されます。
4. テスト機能
コードの記述が完了したら、Postman などのツールを使用して、レストラン検索機能が適切に動作するかどうかをテストできます。プログラムを起動し、ローカル ポート 8080 でリッスンするとします。 http://localhost:8080/restaurants/search?keyword=xxx
(xxx は検索したいレストラン名のキーワード) に GET リクエストを送信すると、該当する検索結果を取得できます。
概要:
この記事では、Go 言語を使用して注文システムのレストラン検索機能を開発する方法と、具体的なコード例を紹介します。データベーステーブルを適切に設計し、Go 言語の gin ライブラリと gorm ライブラリを使用することで、効率的かつ正確なレストラン検索機能を簡単に実装できます。この記事があなたのお役に立てば幸いです。そして、あなたの開発作業の成功を祈っています。
以上がGo言語を使用して注文システムのレストラン検索機能を開発する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









Go Crawler Collyのキュースレッドの問題は、Go言語でColly Crawler Libraryを使用する問題を調査します。 �...

大企業または有名なオープンソースプロジェクトによって開発されたGOのどのライブラリが開発されていますか? GOでプログラミングするとき、開発者はしばしばいくつかの一般的なニーズに遭遇します...

GO言語で構造を定義する2つの方法:VARとタイプのキーワードの違い。構造を定義するとき、GO言語はしばしば2つの異なる執筆方法を見ます:最初...

redisstreamを使用してGo言語でメッセージキューを実装する問題は、GO言語とRedisを使用することです...

Go言語での文字列印刷の違い:printlnとstring()関数を使用する効果の違いはGOにあります...

ポインター構文とviperライブラリの使用における問題への取り組みGO言語でプログラミングするとき、特にポインターの構文と使用を理解することが重要です...

Golandのカスタム構造ラベルが表示されない場合はどうすればよいですか?ゴーランドを使用するためにGolandを使用する場合、多くの開発者はカスタム構造タグに遭遇します...
