Go 言語を使用して基本的な算術演算子を実装する

王林
リリース: 2023-12-23 14:52:20
オリジナル
626 人が閲覧しました

Go 言語を使用して基本的な算術演算子を実装する

Go 言語は、オープンソースの静的に型付けされたコンパイル言語であり、そのシンプルさ、効率性、拡張の容易さから広く注目され、使用されています。この記事では、Go言語を使って簡単な四則計算機を作成する方法と具体的なコード例を紹介します。

まず、演算式と演算子を表すいくつかの基本的なデータ構造を定義する必要があります。構造体を使用して演算子とオペランドを表現したり、列挙型を使用して演算子の値の範囲を制限したりできます。

type Operator int const ( Add Operator = iota Subtract Multiply Divide ) type Operand struct { value float64 } type Expression struct { operator Operator leftOperand Operand rightOperand Operand }
ログイン後にコピー

次に、ユーザーが入力した演算式を解析し、Expression オブジェクトを返す関数を実装できます。

func parseExpression(input string) (Expression, error) { // 解析输入字符串并生成Expression对象 // 如果输入不合法则返回错误信息 }
ログイン後にコピー

次に、指定された Expression オブジェクトに基づいて結果を計算する計算関数を実装できます。

func calculate(expression Expression) float64 { switch expression.operator { case Add: return expression.leftOperand.value + expression.rightOperand.value case Subtract: return expression.leftOperand.value - expression.rightOperand.value case Multiply: return expression.leftOperand.value * expression.rightOperand.value case Divide: return expression.leftOperand.value / expression.rightOperand.value default: return 0 } }
ログイン後にコピー

最後に、ユーザー入力を処理する main 関数を作成し、解析関数と計算関数を呼び出して結果を出力します。

func main() { fmt.Println("欢迎使用四则运算计算器!") fmt.Println("请输入一个四则运算表达式:") scanner := bufio.NewScanner(os.Stdin) for scanner.Scan() { input := scanner.Text() expression, err := parseExpression(input) if err != nil { fmt.Println("输入无效,请重新输入") continue } result := calculate(expression) fmt.Println("结果是:", result) } if err := scanner.Err(); err != nil { fmt.Println("读取输入失败:", err) } }
ログイン後にコピー

上記は Go 言語で書かれた四則計算機の簡単なコード例です。データ構造を定義し、解析および計算関数を実装することで、ユーザーの入力および出力結果を簡単に処理できます。もちろん、この例は、さらに演算子の追加や複雑な演算式のサポートなど、さらに拡張および最適化することができますが、基本的なフレームワークと考え方は同じです。

要約すると、Go 言語は、四則演算電卓を含むさまざまなアプリケーションを簡単に作成するために使用できる強力なプログラミング言語です。この記事のサンプルコードと説明があなたのお役に立てれば幸いです。

以上がGo 言語を使用して基本的な算術演算子を実装するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!