職案人

求職・歴史・仏教などについて掲載するつもりだが、自分の思いつきが多いブログだよ。適当に付き合って下さい。

goto文

2023年01月15日 | GO言語
無条件分岐--goto文


【開発環境】
OS:Win11(64ビット)
go version go1.19.4 windows/amd64
VSCode1.72.2、及びコマンドプロンプト

【goto文】
goto文は、無条件に指定した場所にジャンプする命令文

・書式
goto LABEL
LABEL:

LABELはジャンプ先のラベルで、名前の最後に「:」を続けて「LABEL:」と言う形式で記述する。

・サンプルコード
// goto文
package main

import "fmt"

func main() {
var n int

Loop:
if n > 5 {
goto LoopEND
}
fmt.Printf("%dの2乗は%d\n", n, n*n)
n++
goto Loop

LoopEND:
}

・実行
PS D:\GO言語\サンプルプログラム\Go-4\sample_if> go run サンプル.go
0の2乗は0
1の2乗は1
2の2乗は4
3の2乗は9
4の2乗は16
5の2乗は25
PS D:\GO言語\サンプルプログラム\Go-4\sample_if>
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

switch文

2023年01月13日 | GO言語
switch文


【開発環境】
OS:Win11(64ビット)
go version go1.19.4 windows/amd64
VSCode1.72.2、及びコマンドプロンプト

【switch文】
switchは、式を評価して、結果に応じて処理を切り替える
・書式
switch expr {
case const-expr:
stat
[ fallthroug]
default:
default-stat
}

・サンプルプログラム
// switch文
package main

import "fmt"

func main() {
var n int
fmt.Printf("整数を入力して下さい:")
fmt.Scan(&n)

switch n % 2 { //nを2で割った余り
case 0:
fmt.Printf("%dは偶数です。\n", n)
//breakは書かない
case 1:
fmt.Printf("%dは奇数です。\n", n)
}

switch n % 3 {
case 0:
fmt.Printf("%dは3の倍数です。\n", n)
//breakは書かない
default:
fmt.Printf("%dは3の倍数ではありません。\n", n)
}

switch {
case n < 0:
fmt.Printf("%dは負の数です。\n", n)
//breakは書かない
case n > 0:
fmt.Printf("%dは正の数です。\n", n)
default:
fmt.Printf("%dはゼロです。\n", n)
}

switch {
case n == 0:
fmt.Printf("%dはゼロです。\n", n)
fallthrough
case n > 0:
fmt.Printf("%dは負出ない数です。\n", n)
fallthrough
default:
fmt.Printf("%dは整数です。\n", n)
}
}

・実行
PS D:\GO言語\サンプルプログラム\Go-4\sample_if> go run サンプル.go
整数を入力して下さい:
整数を入力して下さい:25
25は奇数です。
25は3の倍数ではありません。
25は正の数です。
25は負出ない数です。
25は整数です。

PS D:\GO言語\サンプルプログラム\Go-4\sample_if> go run サンプル.go
整数を入力して下さい:0
0は偶数です。
0は3の倍数です。
0はゼロです。
0はゼロです。
0は負出ない数です。
0は整数です。
PS D:\GO言語\サンプルプログラム\Go-4\sample_if>
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

go言語---if

2023年01月11日 | GO言語
if文


【開発環境】
OS:Win11(64ビット)
go version go1.19.4 windows/amd64
VSCode1.72.2、及びコマンドプロンプト

◆if文
if文は条件式を評価した結果に応じて実行するステートメントを決定する
・書式
if expr{
statement
}

expr→条件式、exprが真(True)である時、statementが実行される
例えば
if x > 0 {
fmt.printf("%dは正の数です。", x)
}

・else節を使った書式
if expr{
stat_true←真の時に実行されるステートメント
}else{
stat_false←偽の時に実行されるステートメント
}
例えば
if x > 0 {
fmt.printf("%dは整数です。",x)
}else{
fmt.printf("%dは整数ではありません。",x)
}

・else if文
例文
if x > 0 {
fmt.printf("%dは正の数です。",x)
} else if x<0 {
fmt.printf("%dは負の数です。",x)
}

・else if~else
例文
if x > 0 {
fmt.printf("%dは正の数です。",x)
} else if x<0 {
fmt.printf("%dは負の数です。",x)
} else {
fmt.printf("%dはセロです。",x)
}

サンプルコード「サンプル.go」
// if else
package main

import "fmt"

func main() {
var x int

fmt.Println("整数を入力して下さい:")
fmt.Scan(&x)

if x > 0 {
fmt.Printf("%dは正の数です。", x)
} else if x < 0 {
fmt.Printf("%dは負の数です。", x)
} else {
fmt.Printf("%dはゼロの数です。", x)
}

}
実行
PS D:\GO言語\サンプルプログラム\Go-4\sample_if> go run サンプル.go
整数を入力して下さい:
2
2は正の数です。
以上
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

コマンドパラメーター

2023年01月06日 | GO言語
コマンドパラメーター


【開発環境】
OS:Win11(64ビット)
go version go1.19.4 windows/amd64
VSCode1.72.2、及びコマンドプロンプト

◆コマンドライン引数
Go言語のプログラムを実行する時のコマンドラインにパラメーターを指定して、
プログラムを利用出来る。

例文
サンプルコード「コンソール.go」
// cmndargs.go
package main

import (
"fmt"
"os"
)

func main() {
if len(os.Args) < 3 {
fmt.Println("引数を2個指定して下さい")
os.Exit(1)
}

fmt.Printf("実行ファイル名:%s\n", os.Args[0])
fmt.Printf("引数1:%s\n", os.Args[1])
fmt.Printf("引数2:%s\n", os.Args[2])

}
・実行
<strong>引数を入れないと
PS D:\GO言語\サンプルプログラム\Go-3> go run コンソール.go
引数を2個指定して下さい
exit status 1

PS D:\GO言語\サンプルプログラム\Go-3> go run コンソール.go abc 123
実行ファイル名:C:\Users\Owner\AppData\Local\Temp\go-build1964995560\b001\exe\
コンソール.exe
引数1:abc
引数2:123
PS D:\GO言語\サンプルプログラム\Go-3>
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

コンソール入出力--その2

2023年01月04日 | GO言語
コンソール入力


【開発環境】
OS:Win11(64ビット)
go version go1.19.4 windows/amd64
VSCode1.72.2、及びコマンドプロンプト

コンソール入力には、主にfmt.scan()、fmt.scanf()、スキャナー(NewScnner())など使われる。

◆fmt.scan()
基本的なキーボードからの入力には、fmt.scan()を使うことが出来ます
・書式
fmt.scan(&variable)

例文1--文字
// fmt.scan()
package main

import (
"fmt"
)

func main() {
var name string
fmt.Print("Name:")
fmt.Scan(&name)
fmt.Printf("こんにちは,%s!", name)
}
実行

PS D:\GO言語\サンプルプログラム\Go-3> go run コンソール.go
Name:かすみ
こんにちは,かすみ!

◆fmt.scanf()
書式を指定したキーボードからの入力いは、fmt.scanf()を使う
・書式
fmt.scanf(format,a,,,,interface{})

この関数は標準入力から読み込んだテキストをスキャンして、書式文字列formatに従って順に引数に格納します。
書式文字列は書式が入力に限定されることを除いて、fmt.printf()と同じである。

サンプルコード
// fmt.scanf()
package main

import (
"fmt"
)

func main() {
var n, m int

fmt.Printf("2つの整数を入力して下さい:")
fmt.Scanf("%d %d", &n, &m)
fmt.Printf("%dと%dの合計は%d\n", n, m, n+m)

}


実行
PS D:\GO言語\サンプルプログラム\Go-3> go run コンソール.go
2つの整数を入力して下さい:
PS D:\GO言語\サンプルプログラム\Go-3> go run コンソール.go
2つの整数を入力して下さい:12 23
12と23の合計は35

◆スキャナー
バッファー付きのキーボードからの文字列入力には、スキャナーを使うことが出来る。
bufioというパッケージにあるNewScanner()を使ってスキャナーと呼ぶオブジェクトを作成します。このスキャナーオブジェクトは、ファイル入力に使うことが出来ますが、ファイルの代わりにos.stdinを指定することで標準入力(キーボード)からの入力を受け取るオブジェクトとして作成することが出来ます。

サンプルコード
// scanner.go
package main

import (
"bufio"
"fmt"
"os"
)

func main() {
var name string
fmt.Printf("名前を入力して下さい:")
scanner := bufio.NewScanner(os.Stdin)

scanner.Scan()
name = scanner.Text()

fmt.Printf("nameは=%s\n", name)

}

実行
PS D:\GO言語\サンプルプログラム\Go-3> go run コンソール.go
名前を入力して下さい:
PS D:\GO言語\サンプルプログラム\Go-3> go run コンソール.go
名前を入力して下さい:花子
nameは=花子
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする