Как в golang подключить другой файл?

Подскажите, может банальный вопрос, как в golang подключить другой файл?
Я начал только экспериментировать с ним и пока пишу в одном файле.
Хотелось бы часть кода перенести в другой и подключить его к main.go
  • Вопрос задан
  • 12501 просмотр
Решения вопроса 1
artem_kovardin
@artem_kovardin
Для начинающих есть две статьи, обязательные к прочтению. Первая: "How to Write Go Code" и вторая: "Understanding Golang Packages"

В кратце, в Go подключается не файл, а импортируется модуль(пака с файлами).

main.go:
package main

import "./mymodule"

func main() {
    mymodule.MethodOne()
}


mymodule/some_file.go:
package mymodule

import "fmt"

func MethodOne() {
    fmt.Println("Hello World!")
}


Но это пример относительного импортирования, без учета переменной окружения $GOPATH. Что бы узнать подробности, читайте ссылки выше.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
Скажите, пожалуйста, вы искали ответ на этот вопрос в гугле?
https://golang.org/doc/code.html
Ответ написан
Комментировать
@zlbrk
Начинающий программист на Go
Предположим, у нас есть файл hello.go следующего содержания
package main

import "fmt"

const(
 constString="Hello, constant!"
)

func main() {
    fmt.Println(constString)
}


Результатом выполнения
$ go build && ./hello.exe
будет
$ Hello, constant!

Я хочу просто вынести все определения констант в другой файл, оставаясь в рамках того же пакета, не упражняясь с импортом пакетов и экспортом имен.

В той же директории создаю файл myConst.go с таким содержимым
package main // Это важно!

const(
 constString="Hello, constant!"
)


В файле hello.go удаляю строчку с объявлением константы
package main

import "fmt"

func main() {
    fmt.Println(constString)
}


Если всё сделано правильно, то выдача будет такая же, как и в оригинальном примере.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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