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

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

Похожие вопросы