Задать вопрос
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")
}
  • Вопрос задан
  • 9507 просмотров
Подписаться 4 Оценить Комментировать
Решения вопроса 1
Tyranron
@Tyranron
Если файлы лежат в одной директории и оба в package main, то никаких проблемы быть не должно, даже если именуете с маленькой буквы.
Подозрвеаю что проблема в способе запуска программы. Для go run такое не прокатит, он умеет цеплять только одиночные файлы. Нужно скомпилить директорию и должно быть все в порядке.
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
@Ildar72
go run main.go test.go
Ответ написан
Комментировать
@theaidem
Сделайте имя функции с большой буквы (MyPrint()) и она станет видима в др. файлах пакета main
Ответ написан
eldiyar_321
@eldiyar_321
Программист САМОУЧКА Fullstack developer
Если хотите через консоль запускать, то разделите их на разные пакеты.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы
Сбер Санкт-Петербург
от 165 000 ₽
Сбер Санкт-Петербург
от 150 000 ₽
Davines Москва
от 150 000 до 180 000 ₽