go語言學習筆記-簡單計算器

今天使用go語言寫個簡單的計算器,功能包括加、減、乘、除。這裡就拿加法來舉例子,其他部分的代碼可以給我發私信,我給你發過去。

需求:

  1. 使用命令行形式,如calc command [arguments],如加法是:calc add 1 2

  2. 加法和乘法的時候不能限制arg(加數或者乘數)的個數

先寫加法部分,這裡需要考慮的地方,我們的怎麼獲取到命令行後面跟隨的加數的個數,這裡做一個簡單處理,將這些都看成字符串類型,然後再轉化為浮點類型的。如下:

go語言學習筆記-簡單計算器

add

這個包括字符串轉化為浮點數以及它們之間的求和運算。下面在貼出add.go整個文件的其餘部分。如下:

go語言學習筆記-簡單計算器

Add

在一個完整的開發中,你還可能需要寫一些測試用例,如下:

go語言學習筆記-簡單計算器

add_test.go

上面這個只是其中的一個用例,可以考慮不同的場景去寫,當然這些都是最簡單的。

我們把add這個功能模塊寫完了,就可以在主函數里面去調用它了,當然,我們在調用之前還要考慮的是,我們根據輸入的command不同需要做不同的處理,如果沒有我們要的command那就要報錯,所以先寫Usage,如下:

go語言學習筆記-簡單計算器

usage

那我們是什麼時候去調用這個Usage呢,其實想一想就知道了,當我們沒有輸入command或者command不是我們定義的又或者command 後面不帶參數的時候就要調用這個函數,告訴用戶應該怎麼正確輸入,如下:

go語言學習筆記-簡單計算器

usage

判斷完輸入的command是什麼之後,我們就要根據command去調用對應的功能模塊,比如剛剛寫完的add這個功能,如下:

go語言學習筆記-簡單計算器

add

這裡使用swtich語句判斷command是什麼類型的,前面說的假如沒有我們定義的就放到default裡面,如下:

go語言學習筆記-簡單計算器

default

好了,主要的我們都寫完了,下面我們來看下功能怎麼樣,首先看我們測試代碼是不是都是pass的,如下:

go語言學習筆記-簡單計算器

go test

不錯,所有的測試用例都跑完了,並且是pass的,然後我們編譯一下主函數,得到我們要的命令行工具,如下:

go語言學習筆記-簡單計算器

go build

然後使用一下它的基本功能,沒帶command以及帶command沒帶參數的時候,如下:

go語言學習筆記-簡單計算器

cacl

加法功能,一個加數,兩個或者多個加數的時候,如下:

go語言學習筆記-簡單計算器

add

還有另外幾個功能,在這就不一一把代碼理出來了,需要留言給我,給大家看下減法、乘法、除法以及求平方根的效果吧:

go語言學習筆記-簡單計算器

sub

go語言學習筆記-簡單計算器

mul

go語言學習筆記-簡單計算器

div

go語言學習筆記-簡單計算器

sqrt

好了,本次筆記到此結束,謝謝您們的閱讀!


  • May you share freely, never taking more than you give.

  • 願你寬心與人分享,所取不多於你所施與。


分享到:


相關文章: