Задать вопрос
@Anton3232

Две ошибки только в VC code которые не дают мне писать код?

Здравствуйте, спасибо что откликнулись.

Я новичок думаю ошибка очевидна но решить уже долго не могу.

Я хочу запустить функцию мейн в которой есть другие функции, но проблема, "undefained: Comments, Cycle"

Файл go mod присутствует, пробовал через go run . там уже другая ошибка "go: go.mod file not found in current directory or any parent directory; see 'go help modules'"

Пробовал менять путь к файлам, и в командной строке, но после перезапуска (через раз ) опять ошибка, ещё после перезапуска вс код всё работает а может не заработать, но в голенд нет таких проблем, из этого следует, что ошибка именно в вс код, возможно настройки в json дают такую ошибку:
{
     "go.useLanguageServer": true, // при наборе кода, активирует подсказки, навигацию по коду, форматирование
    "editor.codeActionsOnSave": {}, // действия при сохранении файла, ничего не указываем чтобы не было конфликтов при сохранении go файлов
     "go.formatTool": "gofumpt", // утилита для форматирования go файлов.https://github.com/mvdan/gofumpt
    "[go]": {
        "editor.formatOnSave": true, // при сохранении файла, будет выполняться форматирование при помощи утилиты gofumpt
        "editor.codeActionsOnSave": {
            "source.organizeImports": "explicit"
        }
    },
    "code-runner.saveFileBeforeRun": true, // сохраняет файл перед запуском
    "code-runner.clearPreviousOutput": true, // очищает результат предыдущего запуска перед запуском
    "code-runner.runInTerminal": true,
    "explorer.confirmDelete": false,
    "go.toolsManagement.autoUpdate": true,
    "explorer.confirmDragAndDrop": false,
    "editor.fontLigatures": false // запуск в терминале VSCode
}


Так же возможно дело в моем коде, проект состоит из 3 файлов.
package main

func main() {
 Comments()
 Cycle()
}


package main

import "fmt"

func Comments() {
 fmt.Println("Укажите цифрой команду")
 fmt.Println()
 fmt.Println("[0]exit")
 fmt.Println("[1]help")
 fmt.Println("[2]add")
 fmt.Println("[3]list")
 fmt.Println("[4]del")
 fmt.Println("[5]done")
 fmt.Println("[6]events")
 fmt.Println("[7]del")

}


package main

import (
 "bufio"
 "fmt"
 "os"
)

func Cycle() {

 titleText := map[string]string{
  "Название": "Текст",
 }

 cmd := 0
 fmt.Scan(&cmd)

 for {
  switch {
  case cmd == 0:
   break
  case cmd == 1:
   Comments()
   fmt.Scan(&cmd)
  case cmd == 2:
   fmt.Println("Введите заголовок и нажмите Enter, затем текст")

   title := ""
   fmt.Scan(&title)
   scan := bufio.NewScanner(os.Stdin)
   scan.Scan()
   text := scan.Text()
   titleText[title] = text
   
  }
 }
}


код не дописан просто это хороший момент чтобы показать ошибку
  • Вопрос задан
  • 110 просмотров
Подписаться 1 Простой 3 комментария
Решения вопроса 1
Проблема не в редакторе и не в коде, а в том, как вы код запускали. Команда

go run main.go

компилирует только один файл, отсюда и сыпались ошибки о неопределенных функциях.

Нужно было запускать

go run *.go

, чтобы собрать все файлы

Или по классике, как делает Goland:

go build -o app && ./app
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы