expected package found eof как исправить go

Мне было трудно выполнить простую программу golang на виртуальной машине, работающей на vagrant. Это соответствующие поля моего go env :

Это программа, которую я пытаюсь выполнить (находится в / usr / local / src / go / program):

Вот результат, который я получаю:

Учтите, что это полностью фейковая программа. Странно то, что он полностью работает в другой среде. Что мне здесь не хватает?

10 ответов

Очистка и новая установка с нуля решили проблему.

. expected ‘package’, found ‘import’

Сейчас это действительно очевидно, но, эй, вот как это происходит.

В моем случае я решил проблему, используя «VS Code» вместо по умолчанию «текстовый редактор»

Проблема заключалась в том, что в файле присутствовали некоторые лишние символы. Как только мы удалим лишние символы, все заработает.

Я хочу, чтобы это решило и вам.

Как уже было сказано Нико, когда вы создаете новый проект и новый файл main.go, эта ошибка появляется, когда файл не сохраняется. Сохраните файл (ctrl + s), и эта ошибка исчезнет как в Mac, так и в Windows. Я столкнулся с той же проблемой, и я просто решил ее, нажав ctrl + S в файле main.go.

При предоставлении основного объявления пакета другому файлу Go ошибка перестала отображаться.

Для меня это также произошло с использованием Atom + Go Plus + Terminal Plus. Проблема заключалась в том, что ведущая скобка находилась не на «правильной» строке.

С gopls (v0.4.0 на момент написания, настолько нестабильно!) И vscode выполнение cmd+shift+P > Go: Restart language server у меня сработало.

Просто сначала сохраните файл, а затем запустите cammand. Он работает.

Обычно это происходит, когда у вас есть файл, например. foo_test.go пустой или без объявления пакета.

Используя VS Code для GO, столкнулся с той же проблемой. Сохранение файла Ctrl + S в Windows устранило проблему.

Источник

Мне нелегко пытаться выполнить простую программу golang на виртуальной машине, на которой работает бродяга. Это соответствующие поля моего go env :

Это программа, которую я пытаюсь выполнить (находится в /usr/local/src/go/program ):

Это результат, который я получаю:

Учтите, что это полностью фальшивая программа. Странно то, что он полностью работает в другой среде. Что мне здесь не хватает?

ОТВЕТЫ

Ответ 1

Очистка и свежая установка с нуля позволили решить проблему.

Ответ 2

Используя VS Code для GO, столкнулся с той же проблемой. Сохранение файла «Ctrl + S» в Windows устранило проблему.

Ответ 3

Это обычно происходит, когда у вас есть файл, например. foo_test.go пустой или без объявления пакета.

Ответ 4

Для меня это также произошло с помощью Atom + Go Plus + Terminal Plus. Проблема заключалась в том, что ведущая скобка не была на «правильной» линии.

Читайте также:  Что такое пошаговая детализация

ПРИМЕЧАНИЕ: Go Plus предупреждает о синтаксисе при сохранении, но я импортировал этот файл после его локального создания с помощью VIM, поэтому мне никогда не предоставляли ошибки lint.

Ответ 5

Просто сохраните файл, а затем запустите cammand.it работает.

Ответ 6

Как уже сказал Нико, при создании нового проекта и нового файла main.go эта ошибка будет появляться, когда файл не сохранен. Сохраните файл (Ctrl + S), и эта ошибка исчезнет как в Mac & окна. Я столкнулся с той же проблемой и только что решил ее, выполнив Ctrl + S в файле main.go.

Ответ 7

. expected ‘package’, found ‘import’

Теперь это очевидно, но эй, как это происходит.

Ответ 8

отдельный файл Go в том же пакете,не имел декларации «основной пакет» и из-за этого консоль выдавала ошибки при запуске файла Main GO.

При предоставлении основного объявления пакета в другой файл Go ошибка перестала отображаться.

Источник

expecting EOF, found ‘ ‘

My 1st post here so I’ll try to keep it simple. I’m trying to create a plot of some mass spectrometry data using Processing. I wanted to write a sketch to parse data from pseudo-XML into tables and then to plot this data as points on 2 axes (time, mz) with the third axis, the signal, as the colour of the point.

At this stage I want the plot to be the dimensions of the data. In my test data this is 38 time points on the x axis, 51 mz points on the Y and signal ranging from 0 to 12,000. The bounds of a real data set will be a hundred times bigger in every dimension.

My issue is that the width and height of the plot is dependent on the data and establishing these limits involves a bit of code. In Processing you can only call size() immediately after void setup() so I put all the calculation code first. This threw the title error. I couldn’t work around it so I output the data to three csv files and started on a 2nd sketch to import that data and plot it. I’ve run into the same error.

The exact error is expecting EOF, found », where can be the first word on a line. It has been for, mzTable and if, depending on the code I’ve tried.

Here’s the second sketch in full:

The source of the error is identified as coming from line 19:

I’m no hacker but I can see there’s nothing wrong with that code. If I comment out everything from void setup() onwards the code runs so its something to do with having the import and summary code outside of that function. If I put bad code in front of it, such as just for( then I get expecting EOF, found ‘for’. Can anyone tell me why?

Читайте также:  К чему снятся пчелы осы во сне женщине

Many thanks in advance,

edited for derp 20:20 1-5-15

edit 22:00 1-5-15 I’ve just tried the sketch in Processing 3.0a7, which has much better error reporting. It has identified a different error with line 19: Syntax error on tokens, delete these tokens. Searching for this error lead me to this questions with suggestions of a diagnosis. Syntax error on tokens, delete these tokens

Источник

expected declaration, found ‘package’ #60

Comments

animesh commented Apr 23, 2017

facing «expected declaration, found ‘package’ » error while trying to run https://play.golang.org/p/ZdFpbahgC1 :

code runs fine via ‘go run’ command line, any ideas on how to get around this?

The text was updated successfully, but these errors were encountered:

We are unable to convert the task to an issue at this time. Please try again.

The issue was successfully created but we are unable to update the comment at this time.

dwhitena commented May 22, 2017

Hi @animesh. Sorry for the delay here. In gophernotes, you don’t have to specify a package or function main. Just paste your various pieces of code into the notebook and go for it. That is, you can just past the following into respective cells:

Let me know if you have any issues with this strategy.

animesh commented May 23, 2017

Thanks Daniel for looking into this 👍

animesh commented May 24, 2017

below is my system

and the kernel configuration

any ideas what could be the issue?

dwhitena commented May 24, 2017

@animesh can you provide the exact code you are running in the notebook cell?

animesh commented May 24, 2017

import «time»
import «fmt»
import «math/rand»
fmt.Print(rand.Intn(100), «,»)
fmt.Print(rand.Intn(100))
fmt.Println()
fmt.Println(rand.Float64())

dwhitena commented May 24, 2017

Hmmm. Sorry you are experiencing this. This is what I get:

Maybe you are using an old release of gophernotes? Do you know what version?

animesh commented Jun 18, 2017

@dwhitena thanks for tip regarding version, i am not sure what worked, but reinstalling makes it work, sort of 👍 the issue now i am facing is that some sort of accumulation is going on when i call the cell again. For example, a run with code similar to your cell-2 gives

Читайте также:  Что такое энгармонические тональности

while re-run of the same cell gives

any ideas what is going on?

dwhitena commented Sep 20, 2017

@animesh I think this is the expected behavior. Closing for now.

Basically, when you rerun the cell, you are seeing new random numbers being generated. Also, you can try this in v1 (RC just released). It should behave as expected. Please follow up here if you see otherwise.

Источник

GoLang, подключение к базе — unexpected EOF в чем причина?

Суть вопроса:
На Windows 10 все работает без проблем, как только я перекидываю всю папку на MacBook и запускаю. то при запуске выдает эту ошибку «unexpected EOF».
В чем причина? Код одинаковый там и там соответственно, но на mac os не работает, а на Win 10 все ок.

Upd: ошибка была в том, что port был не верно указан в коде. Подробнее в комментариях

Попробуйте после defer db.Close() добавить

Напишите пожалуйста помогло или нет

Евгений Мамонов, panic который после запроса SQL идет

Если проверяю просто подключение к БД, то все ок, без ошибок, стоит добавить Добавление/Получение/Обновление/Удаление данных с таблицы. так вот это «panic: unexpected EOF»

Евгений Мамонов,
Если по вашему коду, то:
./add.go:34:7: no new variables on left side of :=
./add.go:34:17: too many arguments in call to db.Ping
./add.go:34:18: undefined: ctx

А если сделать проверку просто к БД, то:
По такому варианту Ошибка panic: unexpected EOF, как раз в ping

а если убрать err = db.ping.
то выводит Successfully connected!

Так что да, возможно теряется соединение, но почему

Евгений Мамонов, с базой все ок, и удалял/создавал новую и обновлял и тд.

Как вот только с pgx подключиться к бд, пока завис на этом(

Да именно по этому примеру и пытался, нашел ошибку почему не запускалось, спасибо.
Но!
Ошибка все та же.

Евгений Мамонов,
Все, благодаря psql, который установился как ярлык я понял в чем проблема.
Подключения к БД даже и не было, потому что порт был не 5432, а 9090.
в pgAdmin порт 5432. но почему-то пропускает по 9090.


Спасибо вам за помощь. Теперь все работает соответственно

Еще есть смысл смотреть логи базы, там может быть более подробно описана причина обрыва соединения.

Источник

Образовательный портал