👻創作者:丶重明
👻創作時間:2025年3月7日
👻擅長領域:運維
目錄
- 1.😶?🌫?題目:簡單的控制臺計算器
- 2.😶?🌫?代碼輸出
- 3.😶?🌫?結果輸出:
- 4.😶?🌫?代碼解析:
- 5.😶?🌫?本章要點:
- 6.😶?🌫?內容擴展:
1.😶?🌫?題目:簡單的控制臺計算器
使用Go語言實現一個簡單的加、減、乘、除控制臺計算器,支持基本的數學運算。
通過這個練習可以學習Go語言的一些基本語法,如switch
邏輯判斷,if
邏輯判斷等使用。
設計思路比較簡單,主要分為以下幾個步驟:
- 提示用戶輸入兩個數字
- 提示用戶輸入運算符
- 根據用戶輸入進行相應運算
- 得出結果
2.😶?🌫?代碼輸出
接下來,將使用Go語言進行編寫代碼,實現簡單的計算器功能。
package mainimport "fmt"func main() {var num1, num2 float64var operator stringfmt.Println("請輸入第一個數字:")fmt.Scanln(&num1)fmt.Println("請輸入第二個數字:")fmt.Scanln(&num2)fmt.Println("請輸入運算符(+ - * /):")fmt.Scanln(&operator)switch operator {case "+":fmt.Printf("結果為: %.2f\n", num1+num2)case "-":fmt.Printf("結果為: %.2f\n", num1-num2)case "*":fmt.Printf("結果為: %.2f\n", num1*num2)case "/":if num2 == 0 {fmt.Println("出錯了~除數不能為0")} else {fmt.Printf("結果為: %.2f\n", num1/num2)}default:fmt.Println("出錯了~請輸入正確的運算符")}
}
3.😶?🌫?結果輸出:
保存代碼,通過go run
命令執行代碼文件,如下所示:
> go run .\7.gotest.go
請輸入第一個數字:
5.8
請輸入第二個數字:
6.2
請輸入運算符(+ - * /):
/
結果為: 0.94
4.😶?🌫?代碼解析:
- 導入
fmt
包進行輸入輸出操作。 - 使用
var
聲明變量num1
和num2
用于存儲數字;聲明變量operator
用來存儲操作符。 - 使用
fmt.Scanln
從控制臺讀取用戶輸入的數字和操作符。 - 使用
switch
語句根據用戶輸入的操作符執行相應的運算,如果輸入的運算符不符合要求則提示錯誤。 - 在進行除法運算時,加入判斷邏輯除數不能為0,如果為0則提示錯誤。
5.😶?🌫?本章要點:
fmt.Scanln
作用是從標準輸入讀取一行數據,并嘗試將其解析為合適的類型,與Scan
的區別是遇到換行符時會停止讀取。
switch 表達式 {
case 值1:// 當表達式的值等于值1時執行的代碼
case 值2:// 當表達式的值等于值2時執行的代碼
// 可以有更多的 case 分支
default:// 當表達式的值與所有 case 的值都不匹配時執行的代碼
}
在表達式switch
中,switch
后面的表達式會被求值,然后依次與每個case
后面的值進行比較。
如果匹配成功,則執行該 case 后面的代碼塊,并且在執行完后會自動跳出switch
語句,不需要使用break
語句(Go 語言的 switch 語句默認自帶 break 效果)。
如果所有case
都不匹配,則執行default
分支(default 分支是可選的)。
if 條件表達式 {// 當條件表達式為 true 時執行的代碼塊
} else {// 當條件表達式為 false 時執行的代碼塊
}
if
語句可以和else
語句結合使用,當if
條件表達式的值為false
時,會執行else
語句后面的代碼塊。
6.😶?🌫?內容擴展:
這個簡單計算器案例有很多擴展的地方,以下是一些可以考慮的擴展方向:
- 支持更多運算 ,如冪運算(^)、平方根(sqrt)
- 實現括號運算,有括號時候先算括號里的
- 支持科學運算,比如三角函數、指數等
同系列:
上一篇:【Go每日一練】構建一個簡單的用戶信息管理系統