Страницы

Поиск по вопросам

Показаны сообщения с ярлыком golang-faq. Показать все сообщения
Показаны сообщения с ярлыком golang-faq. Показать все сообщения

четверг, 13 февраля 2020 г.

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

#golang #golang_faq


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

Я начал только экспериментировать с ним и пока пишу в одном файле. 

Хотелось бы часть кода перенести в другой и подключить его к main.go
    


Ответы

Ответ 1



Import declarations — объявления импорта выдержка из документации. An import declaration states that the source file containing the declaration depends on functionality of the imported package (§Program initialization and execution) and enables access to exported identifiers of that package. The import names an identifier (PackageName) to be used for access and an ImportPath that specifies the package to be imported. мой вольный перевод: объявление импорта (import) гласит, что файл, содержащий это объявление, зависит от функциональности импортируемого пакета (см. §Program initialization and execution), и позволяет получить доступ к экспортируемым пакетом идентификаторам. объявление назначает идентификатор (PackageName) для доступа, а также ImportPath, который точно определяет местоположение импортируемого пакета. примеры: Import declaration Local name of Sin import "lib/math" math.Sin import m "lib/math" m.Sin import . "lib/math" Sin import _ "lib/math"

Ответ 2



Не подключай и всё! Просто обращайтесь к классам и функциям в нём расположенным и всё. В самом начале действительно возникают проблемы разбиения кода на файлы и выделение своих самостоятельных модулей. Подключать через import файл go расположенный в той-же директории что и главный НЕ НУЖНО. Осторожней со слешами ))) должны быть обратные \ я как-то брал путь из far ну и имел проблемы...

пятница, 10 января 2020 г.

Как в Golang прервать выполнение кода?

#golang #golang_faq


Как в Golang прервать выполнение кода? Аналог exit()/die() в PHP.

Есть 

func Index(w http.ResponseWriter, r *http.Request) {
    parametr=0    
    if  parametr!="1" {
        fmt.Fprintln(w, "Параметр=1")
    }
    fmt.Fprintln(w, "текст после проверки")   //Я хочу это не отображать,если parametr!="1"
}


Нужно, если параметр не 1, то выйти из функции (но не из приложения вообще).
Можно, конечно, поставить else, но везде тогда делать обёртки? Или можно как-то выйти
из функции?
    


Ответы

Ответ 1



выход func os.Exit(code int) Exit causes the current program to exit with the given status code. Conventionally, code zero indicates success, non-zero an error. The program terminates immediately; deferred functions are not run. мой вольный перевод: Exit вызывает завершение текущей программы с указанным кодом завершения. принято считать, что код 0 означает успешное завершение, а не-нулевой код означает ошибку. программа завершается немедленно, отложенные функции не вызываются. возврат return [ ExpressionList ] A "return" statement in a function F terminates the execution of F, and optionally provides one or more result values. Any functions deferred by F are executed before F returns to its caller. мой вольный перевод: оператор "return" в функции "F" прерывает выполнение "F" и (опционально) возвращает один или более результатов. любые функции, «отложенные» функцией "F", выполняются перед тем, как управление вернётся в вызывавшую "F" функцию. примеры: func noResult() { return } func simpleF() int { return 2 } func complexF1() (re float64, im float64) { return -7.0, -4.0 }

Ответ 2



Видимо вам нужно просто возвращать значение через return: import ( "fmt" "net/http" ) func Index(w http.ResponseWriter, r *http.Request) { parametr = 0 if parametr != "1" { fmt.Fprintln(w, "Параметр=1") return } fmt.Fprintln(w, "текст после проверки") //Я хочу это не отображать,если parametr!="1" } //Нужно,если параметр не 1

понедельник, 13 мая 2019 г.

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

Как в golang подключить другой файл?
Я начал только экспериментировать с ним и пока пишу в одном файле.
Хотелось бы часть кода перенести в другой и подключить его к main.go


Ответ

Import declarations — объявления импорта
выдержка из документации
An import declaration states that the source file containing the declaration depends on functionality of the imported package (§Program initialization and execution) and enables access to exported identifiers of that package. The import names an identifier (PackageName) to be used for access and an ImportPath that specifies the package to be imported.
мой вольный перевод:
объявление импорта (import) гласит, что файл, содержащий это объявление, зависит от функциональности импортируемого пакета (см. §Program initialization and execution), и позволяет получить доступ к экспортируемым пакетом идентификаторам. объявление назначает идентификатор (PackageName) для доступа, а также ImportPath, который точно определяет местоположение импортируемого пакета.
примеры:
Import declaration Local name of Sin
import "lib/math" math.Sin import m "lib/math" m.Sin import . "lib/math" Sin
import _ "lib/math"

среда, 27 февраля 2019 г.

Как в Golang прервать выполнение кода?

Как в Golang прервать выполнение кода? Аналог exit()/die() в PHP.
Есть
func Index(w http.ResponseWriter, r *http.Request) { parametr=0 if parametr!="1" { fmt.Fprintln(w, "Параметр=1") } fmt.Fprintln(w, "текст после проверки") //Я хочу это не отображать,если parametr!="1" }
Нужно, если параметр не 1, то выйти из функции (но не из приложения вообще). Можно, конечно, поставить else, но везде тогда делать обёртки? Или можно как-то выйти из функции?


Ответ

выход
func os.Exit(code int)
Exit causes the current program to exit with the given status code. Conventionally, code zero indicates success, non-zero an error. The program terminates immediately; deferred functions are not run.
мой вольный перевод:
Exit вызывает завершение текущей программы с указанным кодом завершения. принято считать, что код 0 означает успешное завершение, а не-нулевой код означает ошибку. программа завершается немедленно, отложенные функции не вызываются.
возврат
return [ ExpressionList ]
A "return" statement in a function F terminates the execution of F, and optionally provides one or more result values. Any functions deferred by F are executed before F returns to its caller.
мой вольный перевод:
оператор "return" в функции "F" прерывает выполнение "F" и (опционально) возвращает один или более результатов. любые функции, «отложенные» функцией "F", выполняются перед тем, как управление вернётся в вызывавшую "F" функцию.
примеры:
func noResult() { return }
func simpleF() int { return 2 }
func complexF1() (re float64, im float64) { return -7.0, -4.0 }