kurumi-bioの雑記帳

プログラミング、パソコン、ペット、 犬、お出かけ

初心者のGo言語 その6 <総和計算プログラム>

こんにちは、kurumi-bioです。6回目のブログです。
前回に引き続きGo言語について発信します。

環境

OSバージョン:Windows11 Home 22H2

Go言語のバージョン:go version go1.19.4 windows/amd64

初めに

fmtパッケージの標準出力と標準入力が使えるようになりましたので、

簡単なサンプルプログラムを作ってみます。

総和計算プログラム

入力された数から入力された数までの和の結果を出力するプログラムを作成します。

例)SumSample.go

package main

import (
  "fmt"
  "os"
)

func main() {
    var start, end int
    sum := 0
    errorFlag := false

    fmt.Print("初めの数を入力してください:")
    fmt.Scan(&start)

    fmt.Print("終わりの数を入力してください:")
    fmt.Scan(&end)

    if start < 0 {
        fmt.Fprint(os.Stderr, "エラー:初めの数に0以上の整数を入力してください。")
        errorFlag = true
    }
    if end < 1 {
        fmt.Fprint(os.Stderr, "エラー:終わりの数に1以上の整数を入力してください。")
        errorFlag = true
    }
    if start >= end {
        fmt.Fprint(os.Stderr, "エラー:終わりの数に初めの数より大きい値を入力してください。")
        errorFlag = true
    }

    if errorFlag == false {
        for i := start; i <= end; i++ {
            sum = sum + i
        }
        fmt.Printf("%d から %d までの和は %d です。\n",start, end, sum)
    }
}

実行結果

誰もが一度は行う1~10までの和です。動作に問題は無さそうです。


初めの数に負の値を入力するとエラーが出力されます。
osパッケージのos.Stderrを使用して標準エラー出力にエラー内容を出力しています。

 

初めの数に終わりの数より大きな値を入力してもエラーが出力されます。
エラーが発生した場合は、bool型のerrorFlag変数にtrueを代入することで、
計算を行わないようにしています。
途中で処理を終わらせる方法がわからなかったので、少し奇抜な感じになっています。

 

終わりに

今回は、簡単なプログラムを作成してみました。
動くものができると、ちょっと嬉しくなりますね。
次回は、ファイルアクセスについて調査したいと思います。