Не создавайте двоичные файлы с помощью GoClipse
Установил GoClipse v0.80 в Eclipse Luna на OS X Mavericks...
Установите следующие значения в настройках Eclipse -> Go:
GOROOT: / usr / local / go GOPATH: / DevProjects / Go / GoHello (под ним находится папка src)
Я создал проект Go (вместе с новым файлом Go) и поместил следующий код в src / Hello.go:
package src
import "fmt"
func main() {
fmt.Println("Hello")
}
Когда я запускаю Hello.go, внутри Eclipse Console появляется следующее:
************ Running Go build for project: GoHello ************
************ Build terminated. ************
Как получается, что он не печатает Hello to stdout?
1 ответ
Тебе нужно package main
:
package main
import "fmt"
func main() {
fmt.Println("Hello")
}
Выход:
Hello
Спецификация языка программирования Go
Полная программа создается путем связывания одного не импортированного пакета, называемого
main
пакет со всеми пакетами, которые он импортирует, транзитивно.main
пакет должен иметь имя пакетаmain
и объявить функциюmain
это не принимает аргументов и не возвращает значения.func main() { … }
Выполнение программы начинается с инициализации
main
пакет, а затем вызывая функциюmain
, Когда этот вызов функции возвращается, программа завершается. Это не ждет других (неmain
) для завершения.