Как вызвать функцию из другого файла на языке go?



Я хочу вызвать функцию из другого файла в go lang, может ли кто-нибудь помочь?
тест1.иди



package main

func main() {
demo()
}


условие_2.иди



package main

import "fmt"

func main() {
}

func demo() {
fmt.Println("HI")
}


Как вызвать демо в test2 из test1?

992   3  
go

3 ответов:

вы не можете иметь более одного main в свой пакет.

как правило, вы не можете иметь более одной функции с заданным именем в пакете.

удалить main на test2.go и скомпилировать приложение. Элемент demo функция будет видна из test1.go.

Go Lang по умолчанию строит / запускает только указанный файл. Чтобы связать все файлы, вам нужно указать имя всех файлов во время работы.

выполните одну из следующих двух команд:

$go run test1.go test2.go. //order of file doesn't matter
$go run *.go

вы должны сделать то же самое, если вы хотите построить их.

Я искал то же самое. Чтобы ответить на ваш вопрос "как вызвать демо в test2 от test1?" вот как я это сделал. Запустите этот код . Измените current_folder до папку где тест1.иди есть.

тест1.иди

package main

import (
    L "./lib"
)

func main() {
    L.Demo()
}

lib\test2.иди

поставить условие_2.перейти файл в подпапку lib

package anyname

import "fmt"

// This func must be Exported, Capitalized, and comment added.
func Demo() {
    fmt.Println("HI")
}

Comments

    Ничего не найдено.