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 } }
最後,我們可以寫一個主函數來處理使用者輸入,並呼叫解析和計算函數來輸出結果。
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中文網其他相關文章!