Go 言語を使用して注文システムの営業時間管理機能を開発する方法
はじめに:
基本的な注文と注文に加えて、注文システムを開発します。 checkout 機能に加えて、時間帯ごとの営業時間管理も考慮する必要があります。一部のレストランでは、朝食、昼食、夕食でメニューと価格が異なるため、システムは異なる時間帯でのメニュー表示と価格計算を正確に制御できる必要があります。この記事では、Go言語を使用して受発注システムの営業時間管理機能を開発する方法と具体的なコード例を紹介します。
1. 需要分析
発注システムの営業時間管理機能を開発する場合、次の需要点を考慮する必要があります:
2. 設計計画
上記の需要分析に基づいて、次のような営業時間管理機能の実装計画を設計できます:
3. コードの実装
次に、具体的なコードの実装例を示します。次のサンプル コードを参照してください:
package main import ( "fmt" "time" ) type TimeRange struct { StartTime time.Time EndTime time.Time } type MenuItem struct { Name string Price float64 TimeRule TimeRange } var menuList []MenuItem func isTimeInRange(t time.Time, tr TimeRange) bool { return t.After(tr.StartTime) && t.Before(tr.EndTime) } func showMenuByTime() { currentTime := time.Now() for _, item := range menuList { if isTimeInRange(currentTime, item.TimeRule) { fmt.Println(item.Name, item.Price) } } } func main() { // 初始化菜单列表 menuList = []MenuItem{ {Name: "早餐A", Price: 20.5, TimeRule: TimeRange{ StartTime: time.Date(2022, time.January, 1, 8, 0, 0, 0, time.UTC), EndTime: time.Date(2022, time.January, 1, 10, 0, 0, 0, time.UTC), }}, {Name: "午餐A", Price: 30.0, TimeRule: TimeRange{ StartTime: time.Date(2022, time.January, 1, 11, 0, 0, 0, time.UTC), EndTime: time.Date(2022, time.January, 1, 14, 0, 0, 0, time.UTC), }}, {Name: "晚餐A", Price: 40.0, TimeRule: TimeRange{ StartTime: time.Date(2022, time.January, 1, 18, 0, 0, 0, time.UTC), EndTime: time.Date(2022, time.January, 1, 22, 0, 0, 0, time.UTC), }}, } showMenuByTime() }
上記のコード例では、 # を使用します。 ##TimeRangeさまざまな期間のビジネス ルールを定義する構造。
MenuItem構造には、料理の名前、価格、時間ルール、その他の情報が含まれています。
menuList は、すべてのメニュー情報を保存するために使用されるグローバル変数です。
isTimeInRangeこの関数は、現在時刻が指定された時間範囲内にあるかどうかを判断するために使用されます。
showMenuByTime関数は、現在時刻に基づいて対応するメニューを表示します。
main 関数では、メニュー リストを初期化し、
showMenuByTime 関数を呼び出して、現在の期間でメニューを表示します。
上記の実装コードを通じて、Go 言語を使用して発注システムの業務時間管理機能を開発するのは複雑ではないことがわかります。時間帯マネージャーとメニュー構造を定義し、時間判定機能とメニュー表示ロジックを組み合わせることで、異なる時間帯でのオーダリングシステムの営業時間管理機能を実現できます。
以上がGo言語を使って受発注システムの業務時間管理機能を開発する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。