Heim  >  Artikel  >  Backend-Entwicklung  >  Implementieren Sie einen einfachen arithmetischen Operator mithilfe der Go-Sprache

Implementieren Sie einen einfachen arithmetischen Operator mithilfe der Go-Sprache

王林
王林Original
2023-12-23 14:52:20645Durchsuche

Implementieren Sie einen einfachen arithmetischen Operator mithilfe der Go-Sprache

Go-Sprache ist eine statisch typisierte kompilierte Open-Source-Sprache, die aufgrund ihrer Einfachheit, Effizienz und einfachen Erweiterung große Aufmerksamkeit und Verwendung gefunden hat. In diesem Artikel wird erläutert, wie Sie mithilfe der Go-Sprache einen einfachen Rechner mit vier Rechenoperationen schreiben, und es werden spezifische Codebeispiele bereitgestellt.

Zuerst müssen wir mehrere grundlegende Datenstrukturen definieren, um operative Ausdrücke und Operatoren darzustellen. Wir können Strukturen zur Darstellung von Operatoren und Operanden verwenden und Aufzählungstypen verwenden, um den Wertebereich von Operatoren einzuschränken.

type Operator int

const (
    Add Operator = iota
    Subtract
    Multiply
    Divide
)

type Operand struct {
    value float64
}

type Expression struct {
    operator Operator
    leftOperand  Operand
    rightOperand Operand
}

Als nächstes können wir eine Funktion implementieren, um den vom Benutzer eingegebenen Operationsausdruck zu analysieren und ein Ausdrucksobjekt zurückzugeben.

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

Dann können wir eine Berechnungsfunktion implementieren, um das Ergebnis basierend auf dem angegebenen Expression-Objekt zu berechnen.

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
    }
}

Schließlich können wir eine Hauptfunktion schreiben, um Benutzereingaben zu verarbeiten und Parsing- und Berechnungsfunktionen aufzurufen, um die Ergebnisse auszugeben.

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)
    }
}

Das Obige ist ein einfacher Beispielcode eines in der Go-Sprache geschriebenen Vier-Arithmetik-Rechners. Durch die Definition von Datenstrukturen und die Implementierung von Parsing- und Berechnungsfunktionen können wir Benutzereingaben und Ausgabeergebnisse problemlos verarbeiten. Natürlich kann dieses Beispiel weiter erweitert und optimiert werden, z. B. durch das Hinzufügen weiterer Operatoren und die Unterstützung komplexer Operationsausdrücke, aber das Grundgerüst und die Ideen sind dieselben.

Zusammenfassend lässt sich sagen, dass die Go-Sprache eine leistungsstarke Programmiersprache ist, mit der Sie problemlos verschiedene Anwendungen schreiben können, darunter vier arithmetische Taschenrechner. Ich hoffe, dass der Beispielcode und die Erläuterungen in diesem Artikel für Sie hilfreich sein können.

Das obige ist der detaillierte Inhalt vonImplementieren Sie einen einfachen arithmetischen Operator mithilfe der Go-Sprache. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn