package main
import (
"fmt"
"bufio"
"os"
)
func main() {
fmt.Print("LOADED!\n")
fmt.Print("insert y value here: ")
inputY := bufio.NewScanner(os.Stdin)
inputY.Scan()
inputXfunc()
}
func inputXfunc() {
fmt.Print("insert x value here: ")
inputX := bufio.NewScanner(os.Stdin)
inputX.Scan()
slope()
}
func slope() {
fmt.Println(inputX.Text())
}
このプログラムを実行するたびに、inputXとinputYは識別されません。どのようにして、このプログラムはすべての関数がアクセス可能な変数を使用するようにしますか?私がしたいのはinputYで入力Yを外して結果を出力することですグローバル変数を作成するにはどうすればいいですか?
本当に大域変数はGoには存在しません。なぜなら、ここには使用しないでください。必要なのは 'func slope(inputX io.Scanner)'です。そして 'inputXfunc()'でそれを呼び出すと、 'inputX'を渡すべきです。 – evanmcdonnal
上記のプログラム内のすべてのメソッドからアクセス可能な変数を、それらの変数に渡す必要がないようにしたい場合は、メソッドの外側のメイン変数の上に宣言するだけで、この場合はグローバルな 'パッケージスコープ'になりますあなたは 'main'パッケージに含まれているからです。 – evanmcdonnal
inputX io.Scannerは私のコードで動作しません。 "io"に定義されていないエラーが発生しました – liam