


Implémenter un opérateur arithmétique de base en utilisant le langage Go
Le langage Go est un langage compilé open source à typage statique qui a reçu une attention et une utilisation généralisées pour sa simplicité, son efficacité et sa facilité d'expansion. Cet article explique comment utiliser le langage Go pour écrire une simple calculatrice arithmétique à quatre et fournit des exemples de code spécifiques.
Tout d'abord, nous devons définir plusieurs structures de données de base pour représenter les expressions opérationnelles et les opérateurs. Nous pouvons utiliser des structures pour représenter les opérateurs et les opérandes, et utiliser des types d'énumération pour limiter la plage de valeurs des opérateurs.
type Operator int const ( Add Operator = iota Subtract Multiply Divide ) type Operand struct { value float64 } type Expression struct { operator Operator leftOperand Operand rightOperand Operand }
Ensuite, nous pouvons implémenter une fonction pour analyser l'expression d'opération saisie par l'utilisateur et renvoyer un objet Expression.
func parseExpression(input string) (Expression, error) { // 解析输入字符串并生成Expression对象 // 如果输入不合法则返回错误信息 }
Ensuite, nous pouvons implémenter une fonction de calcul pour calculer le résultat en fonction de l'objet Expression donné.
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 } }
Enfin, nous pouvons écrire une fonction principale pour gérer les entrées de l'utilisateur et appeler des fonctions d'analyse et de calcul pour afficher les résultats.
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) } }
Ce qui précède est un exemple simple de code d'une calculatrice à quatre arithmétiques écrite en langage Go. En définissant des structures de données et en implémentant des fonctions d'analyse et de calcul, nous pouvons facilement traiter les résultats d'entrée et de sortie des utilisateurs. Bien sûr, cet exemple peut être étendu et optimisé, par exemple en ajoutant plus d'opérateurs et en prenant en charge des expressions d'opérations complexes, mais le cadre et les idées de base sont les mêmes.
Pour résumer, le langage Go est un langage de programmation puissant avec lequel vous pouvez facilement écrire diverses applications, dont quatre calculatrices arithmétiques. J'espère que l'exemple de code et les explications contenus dans cet article pourront vous être utiles.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Problème de threading de file d'attente dans Go Crawler Colly explore le problème de l'utilisation de la bibliothèque Crawler Crawler dans le langage Go, les développeurs rencontrent souvent des problèmes avec les threads et les files d'attente de demande. � ...

La bibliothèque utilisée pour le fonctionnement du numéro de point flottante dans le langage go présente comment s'assurer que la précision est ...

GO POINTER SYNTAXE ET ATTENDRE DES PROBLÈMES DANS LA BIBLIOTHÈQUE VIPER Lors de la programmation en langage Go, il est crucial de comprendre la syntaxe et l'utilisation des pointeurs, en particulier dans ...

Quelles bibliothèques de GO sont développées par de grandes entreprises ou des projets open source bien connus? Lors de la programmation en Go, les développeurs rencontrent souvent des besoins communs, ...

En ce qui concerne le problème des balises de structure personnalisées dans Goland lorsque vous utilisez Goland pour le développement du langage GO, vous rencontrez souvent des problèmes de configuration. L'un d'eux est ...

La différence entre l'impression de chaîne dans le langage go: la différence dans l'effet de l'utilisation de fonctions println et string () est en Go ...

GO Language Slice Index: Pourquoi une tranche à élément unique intercepte-t-elle de l'index 1 sans erreur? En langue GO, les tranches sont une structure de données flexible qui peut se référer au bas ...

Utilisation de Golang pour implémenter Linux ...
