入門:基礎語法(四)迴圈
golang只有for迴圈,和其他語言一樣,那我們直接進行一個簡單的程式演示:將任意給定的一個數字轉換成二進位制。
演算法分析:任意給定一個數,eg:12,然後一直用12/2,12/2=6...06/2=3...0 3/2=1...1 1/2=0..1,然後把餘數從最後一個往前記錄,即可獲得給定數的二進位制數字,暨12的二進位制數是1100那麼我們用一個迴圈來控制給定的數字n/2以及n%2,我們這裡的遞增條件是n/2,並把值再賦給n,結束條件是n>0(當然不能等於0如果等於0的話就會多執行一次迴圈體),我們所需要的是n%2的值,那麼我們每次迴圈就計算並記錄一次n%2,然後把這個值從後往前記錄下來即可:
func convert2Bin(n int) (result string) { if n == 0 { result = "0" return result } for ; n > 0; n /= 2 { lsb := n % 2 result = strconv.Itoa(lsb) + result } return result }