Там гораздо больше, чем требовала первоначальная задумка - там быстренько набросаны 2 собственных функции калькулятора: sum() + prod().
Чем демонстрируется возможность добавить туда обработку всего что не вздумается...
Модератор: Olej
Код: Выделить всё
lej@R420:~/2024/own.BOOKs/BHV.Go.3/examples.work/types$ olej@R420:~/2024/own.BOOKs/BHV.Go.3/examples.work/types$ go run math.eval.go
? 2 + 3
2 + 3 = 5
? 2/3
2/3 = 0.6666666666666666
? (3+4)/(6-2)
(3+4)/(6-2) = 1.75
? pi
pi = 3.141592653589793
? log(11,15)
log(11,15) = 1.1293446514625658
? log(2,256)
log(2,256) = 8
? sin(0.5*pi)
sin(0.5*pi) = 1
? 2<<1
2<<1 = ошибочное выражение: cannot evaluate "2<<1": Unkown Token: token.Token(<<)
? sum( 1, 2, 3, 4)
sum( 1, 2, 3, 4) = 10
? sum(sin(pi*1/3)*2)
sum(sin(pi*1/3)*2) = 1.7320508075688772
?
Код: Выделить всё
olej@R420:~/2024/own.BOOKs/BHV.Go.3/examples.work/types$ go run math.eval.go
? prod(1,2,3)
prod(1,2,3) = 6
? prod(sin(pi/4) * log(2,8))
prod(sin(pi/4) * log(2,8)) = 2.1213203435596424
?
Это всё, до сих пор, касалось только локальных описаний модулей ... не связанных с сетевыми GIT...
Теперь смотрю как это работает с модулями в сетевых GIT-репозиториях + последующий импорт из них...Olej писал(а): ↑12 мар 2023, 01:35После чего у нас появится новый файл, пока только такого содержания:Код: Выделить всё
olej@R420:~/2023/own.BOOKs/BHV.Go.2/examples/generic$ go mod init generic go: creating new go.mod: module generic go: to add module requirements and sums: go mod tidy
Код: Выделить всё
olej@R420:~/2023/own.BOOKs/BHV.Go.2/examples/generic$ cat go.mod module types go 1.20
Возьму любой Go проект который отрабатывался ранее ... вот этот - примеры CLI вывода: Go: обработка текстовой информации
Код: Выделить всё
olej@R420:~/2024/Go/git/inout$ pwd
/home/olej/2024/Go/git/inout
Код: Выделить всё
olej@R420:~/2024/Go/git/inout$ go mod init https://github.com/olej-tsil-51/inout
go: malformed module path "https://github.com/olej-tsil-51/inout": double slash
Код: Выделить всё
olej@R420:~/2024/Go/git/inout$ go mod init github.com/olej-tsil-51/inout
go: creating new go.mod: module github.com/olej-tsil-51/inout
go: to add module requirements and sums:
go mod tidy
Код: Выделить всё
olej@R420:~/2024/Go/git/inout$ cat go.mod
module github.com/olej-tsil-51/inout
go 1.22.0
Код: Выделить всё
olej@R420:~/2024/Go/git/inout$ go mod tidy
Код: Выделить всё
olej@R420:~/2024/Go/git/inout$ cat go.mod
module github.com/olej-tsil-51/inout
go 1.22.0
Можно даже подумать (помечтать ), что это каким-то образом создаст проект в GitHub
К картинкам мы ещё вернёмся , а сейчас загрузим этот пустой репозиторий:
Код: Выделить всё
olej@R420:~/2024/Go/git/inout$ git clone https://github.com/olej-tsil-51/inout
Клонирование в «inout»...
remote: Enumerating objects: 3, done.
remote: Counting objects: 100% (3/3), done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
Получение объектов: 100% (3/3), 7.49 КиБ | 2.50 МиБ/с, готово.
Код: Выделить всё
olej@R420:~/2024/Go/git/inout$ ls -la inout
итого 32
drwxrwxr-x 3 olej olej 4096 фев 17 19:25 .
drwxrwxr-x 3 olej olej 4096 фев 17 19:25 ..
drwxrwxr-x 8 olej olej 4096 фев 17 19:25 .git
-rw-rw-r-- 1 olej olej 18092 фев 17 19:25 LICENSE
Зашёл тутда ...
Код: Выделить всё
olej@R420:~/2024/Go/git/inout/inout$ pwd
/home/olej/2024/Go/git/inout/inout
Код: Выделить всё
olej@R420:~/2024/Go/git/inout/inout$ git branch -a
* main
remotes/origin/HEAD -> origin/main
remotes/origin/main
Код: Выделить всё
olej@R420:~/2024/Go/git/inout/inout$ ls -la
итого 52
drwxrwxr-x 3 olej olej 4096 фев 17 19:27 .
drwxrwxr-x 3 olej olej 4096 фев 17 19:25 ..
drwxrwxr-x 8 olej olej 4096 фев 17 19:25 .git
-rw-rw-r-- 1 olej olej 215 фев 13 01:28 inputf.go
-rw-rw-r-- 1 olej olej 296 фев 13 01:28 inputr.go
-rw-rw-r-- 1 olej olej 387 фев 13 01:54 inputs2.go
-rw-rw-r-- 1 olej olej 265 фев 13 01:28 inputs.go
-rw-rw-r-- 1 olej olej 18092 фев 17 19:25 LICENSE
-rw-r--r-- 1 olej olej 103 фев 13 01:48 Makefile
Код: Выделить всё
olej@R420:~/2024/Go/git/inout/inout$ git status
Текущая ветка: main
Эта ветка соответствует «origin/main».
Неотслеживаемые файлы:
(используйте «git add <файл>...», чтобы добавить в то, что будет включено в коммит)
Makefile
inputf.go
inputr.go
inputs.go
inputs2.go
индекс пуст, но есть неотслеживаемые файлы
(используйте «git add», чтобы проиндексировать их)
Включил под контроль:
Код: Выделить всё
olej@R420:~/2024/Go/git/inout/inout$ git add Makefile
Код: Выделить всё
olej@R420:~/2024/Go/git/inout/inout$ git add inputf.go
Код: Выделить всё
olej@R420:~/2024/Go/git/inout/inout$ git add inputr.go
Код: Выделить всё
olej@R420:~/2024/Go/git/inout/inout$ git add inputs.go
Код: Выделить всё
olej@R420:~/2024/Go/git/inout/inout$ git add inputs2.go
Код: Выделить всё
olej@R420:~/2024/Go/git/inout/inout$ git status
Текущая ветка: main
Эта ветка соответствует «origin/main».
Изменения, которые будут включены в коммит:
(используйте «git restore --staged <файл>...», чтобы убрать из индекса)
новый файл: Makefile
новый файл: inputf.go
новый файл: inputr.go
новый файл: inputs.go
новый файл: inputs2.go
Код: Выделить всё
olej@R420:~/2024/Go/git/inout/inout$ git commit -m 'Сб 17 фев 2024 19:43:07 EET'
[main 6b5d09a] Сб 17 фев 2024 19:43:07 EET
5 files changed, 80 insertions(+)
create mode 100644 Makefile
create mode 100644 inputf.go
create mode 100644 inputr.go
create mode 100644 inputs.go
create mode 100644 inputs2.go
olej@R420:~/2024/Go/git/inout/inout$
olej@R420:~/2024/Go/git/inout/inout$ git status
Текущая ветка: main
Ваша ветка опережает «origin/main» на 1 коммит.
(используйте «git push», чтобы опубликовать ваши локальные коммиты)
нечего коммитить, нет изменений в рабочем каталоге
Код: Выделить всё
olej@R420:~/2024/Go/git/inout/inout$ git status
Текущая ветка: main
Ваша ветка опережает «origin/main» на 1 коммит.
(используйте «git push», чтобы опубликовать ваши локальные коммиты)
нечего коммитить, нет изменений в рабочем каталоге
И тут жестокий облом:
Код: Выделить всё
olej@R420:~/2024/Go/git/inout/inout$ git push
Username for 'https://github.com': olej-tsil-51
Password for 'https://olej-tsil-51@github.com':
remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/olej-tsil-51/inout/'
Но это совсем другая песня ... и вспоминать я это буду в другом месте, а потом вернусь сюда - закончить начатое.Когда вы выполняете git clone, git fetch, git pull или git push в удаленный репозиторий, используя URL-адреса HTTPS в командной строке, Git запросит ваше имя пользователя и пароль GitHub. Когда Git запросит пароль, введите свой личный токен доступа. Альтернативно вы можете использовать помощник по учетным данным, например Git Credential Manager. Аутентификация на основе пароля для Git была удалена в пользу более безопасных методов аутентификации. Дополнительную информацию см. в разделе «Управление вашими личными токенами доступа».
Про это уже было: GitHub модулей Go
Но там было про создание модуля для Go, а здесь про использование модулей.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 9 гостей