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 언어는 4개의 산술 계산기를 포함하여 다양한 애플리케이션을 쉽게 작성할 수 있는 강력한 프로그래밍 언어입니다. 이 기사의 샘플 코드와 설명이 도움이 되기를 바랍니다.
위 내용은 Go 언어를 사용하여 기본 산술 연산자 구현의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!