私はgo langで別のファイルから関数を呼びたいと思っています。 TEST1 TEST2からでデモを呼び出す方法 test1.gogo言語で別のファイルから関数を呼び出す方法は?
package main
func main() {
demo()
}
test2.go
package main
import "fmt"
func main() {
}
func demo() {
fmt.Println("HI")
}
?
私はgo langで別のファイルから関数を呼びたいと思っています。 TEST1 TEST2からでデモを呼び出す方法 test1.gogo言語で別のファイルから関数を呼び出す方法は?
package main
func main() {
demo()
}
test2.go
package main
import "fmt"
func main() {
}
func demo() {
fmt.Println("HI")
}
?
お客様のパッケージにはmain
を複数含めることはできません。
さらに一般的には、パッケージ内に特定の名前の関数を複数持つことはできません。
main
をtest2.go
に削除し、アプリケーションをコンパイルします。 demo
関数はtest1.go
から表示されます。
test2.goで 'main'を削除してビルドして実行することはできますが、' go run test1.go'を使ってtest1.goを実行できませんでした。どうして ? –
'go run test1.go test2.go' –
ありがとうdystro!私は "fmt"の使用を知らなかった。 –
デフォルトでGo Langは、上記のファイルのみをビルド/実行します。すべてのファイルをリンクするには、実行中にすべてのファイルの名前を指定する必要があります。
を実行して、二つのコマンド以下のいずれか:あなたがそれらを構築したい場合は
$go run test1.go test2.go. //order of file doesn't matter
$go run *.go
あなたは、同様のことを行う必要があります。
私は同じことを探していました。 "あなたの質問に答えるにはtest2のデモをtest1から呼び出すには?"、ここで私がやった方法です。 go run test1.go
コマンドでこのコードを実行してください。 current_folderをフォルダのtest1.goに変更します。
test1.go
package main
import (
L "../current_folder/lib"
)
func main() {
L.Demo()
}
のlib \ test2.go
サブフォルダ内のファイルtest2.go lib
package anyname
import "fmt"
// This func must be Exported, Capitalized, and comment added.
func Demo() {
fmt.Println("HI")
}
これはgo1.9.2 windows/amd64で行われました – Zelenko
あなたは '行くfmt'とはどういう意味ですかを入れて?端末のように、または何?彼は何に気をつけているのですか? –