Не создавайте двоичные файлы с помощью 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) для завершения.

Другие вопросы по тегам