profit
@profit
Разработка | Оптимизация. Telegram: @evzavyalov

Golang. Вызвать функцию из другого файла

Go только начал пробовать. Вопрос: Есть два файла. main.go и test.go. файлы лежат в одной директории. В LiteIDE под Win подсвечивается что можно вставить "myPrint func()". А при компиляции в Debian выдается сообщение
# command-line-arguments
./main.go:20: undefined: myPrint

----------------
Файл main.go
----------------
package main

import (
"fmt"
)

func main(){
myPrint()
fmt.Println("111")
}

----------------
Файл test.go
----------------
package main

import (
"fmt"
)

func myPrint()
fmt.Println("222")
}
  • Вопрос задан
  • 8550 просмотров
Решения вопроса 1
Tyranron
@Tyranron
Если файлы лежат в одной директории и оба в package main, то никаких проблемы быть не должно, даже если именуете с маленькой буквы.
Подозрвеаю что проблема в способе запуска программы. Для go run такое не прокатит, он умеет цеплять только одиночные файлы. Нужно скомпилить директорию и должно быть все в порядке.
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
@theaidem
Сделайте имя функции с большой буквы (MyPrint()) и она станет видима в др. файлах пакета main
Ответ написан
@Ildar72
go run main.go test.go
Ответ написан
Комментировать
eldiyar_321
@eldiyar_321
Программист САМОУЧКА Fullstack developer
Если хотите через консоль запускать, то разделите их на разные пакеты.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы