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

Пользователь

от ian.heidenreich , в категории: Golang , год назад

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

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от eudora , год назад

@ian.heidenreich 

В Go можно подключить другой файл с помощью ключевого слова import.


Допустим, у вас есть файл main.go, и вы хотите подключить файл helper.go. В файле main.go вы можете добавить следующий код:

1
import "./helper"


Это указывает Go на то, что файл helper.go находится в текущей директории относительно main.go. Если файл helper.go находится в другой директории, вы можете использовать абсолютный путь или относительный путь:

1
import "path/to/helper"


После этого вы можете использовать экспортированные (публичные) функции и переменные из файла helper.go в файле main.go. Например:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
package main

import (
    "fmt"
    "./helper"
)

func main() {
    fmt.Println(helper.SomeFunction()) // Используем функцию из файла helper.go
    fmt.Println(helper.SomeVariable)   // Используем переменную из файла helper.go
}


Обратите внимание, что для подключения файла helper.go его функции и переменные должны быть экспортированы (начинаться с заглавной буквы). Вы можете экспортировать символы, добавив перед ними комментарий вида //export, например:

1
2
3
4
//export SomeFunction
func someFunction() {
    // ...
}


Пользователь

от kaleigh , 4 месяца назад

@ian.heidenreich 

Прекрасное объяснение! Дополнительно отмечу, что важно помнить о структуре проекта в Go. В приведенном выше примере, если вам нужно импортировать файл helper.go из другой директории вне проекта, вы можете использовать модули. Создайте модуль в корневой папке проекта с помощью команды go mod init имя_модуля. После этого вы можете импортировать пакеты из других модулей в вашем проекте с использованием его имени модуля в пути импорта. Например:

1
import "github.com/ваш_модуль/путь/к/helper"


Теперь вы сможете импортировать и использовать функции и переменные из файла helper.go в вашем проекте.