Olej писал(а): ↑26 янв 2022, 03:08
Можно его (в редакции 1.44) можно скачать здесь: конспект Go (обновление).
Сегодня, по случаю, проверил всё относящееся к внешнему проекту gorun в Go - запуск исходного кода Go
как скрипта в системе ... описанного в своё время (2013-2014) в конспекте.
Закачиваю проект:
Код: Выделить всё
olej@R420:~$ go get launchpad.net/gorun
olej@R420:~$ ls -l `go env GOPATH`/src/launchpad.net/gorun
итого 44
-rw-rw-r-- 1 olej olej 35147 янв 20 03:02 COPYING
-rw-rw-r-- 1 olej olej 7597 янв 20 03:02 gorun.go
Получил исходные коды проекта...
В
произвольном каталоге собираю проект:
Код: Выделить всё
olej@R420:~/2022/own.BOOKs/BHV$ pwd
/home/olej/2022/own.BOOKs/BHV
olej@R420:~/2022/own.BOOKs/BHV$ go build `go env GOPATH`/src/launchpad.net/gorun
olej@R420:~/2022/own.BOOKs/BHV$ ls -l gorun
-rwxrwxr-x 1 olej olej 2420120 фев 22 10:27 gorun
olej@R420:~/2022/own.BOOKs/BHV$ file gorun
gorun: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), statically linked, Go BuildID=CFpfqnmOf2RG81MYJEHX/mSSa10XTD_juUZZlT-U-/H6KfB8Tid3IKYy0Xe6Sf/WfKZe7JI30S8qJMYzHat, not stripped
Собрался бинарный файл.
Теперь откопирую его в любой каталог, прописанный в переменной окружения $PATH, например, /usr/local/bin :
Код: Выделить всё
olej@R420:~/2022/own.BOOKs/BHV$ sudo mv gorun /usr/local/bin
olej@R420:~/2022/own.BOOKs/BHV$ which gorun
/usr/local/bin/gorun
Готовлю минимальный тестовый пример tiny.go ... 1-й строкой прописываем вызов интерпретатора /usr/local/bin/gorun :
Код: Выделить всё
#!/usr/local/bin/gorun
package main
import "fmt"
func main() { fmt.Println("Hello, 世界") }
Установим этому файлу
исходных кодов, как это делается для скриптов, флаги исполнимости:
Выполняю:
Код: Выделить всё
olej@R420:~/2022/own.BOOKs/BHV/examples/tools$ time ./tiny.go
go tool: no such tool "6g"
error: failed to run go: exit status 2
real 0m0,008s
user 0m0,007s
sys 0m0,003s
Облом-с