-----------Install (for go 1.X verison):------------ sudo apt-get install gcc libc6-dev mercurial subversion mkdir ~/golang; extract goinstall file in this directory and rename its to go1.X name of directory. wget https://dl.google.com/go/go1.10.8.linux-amd64.tar.gz sha256: d8626fb6f9a3ab397d88c483b576be41fa81eefcec2fd18562c87626dbb3c39e wget https://dl.google.com/go/go1.10.8.linux-386.tar.gz sha256: 10202da0b7f2a0f2c2ec4dd65375584dd829ce88ccc58e5fe1fa1352e69fecaf wget https://storage.googleapis.com/golang/go1.10.8.linux-386.tar.gz sha256: Set up two environment variables: vim .bashrc #-----GO lang env settings may be in .bashrc:---------- # wget https://golang.org/dl/go1.10.8.tar.gz export GOROOT=$HOME/golang/go1.10.8; export GOPATH=$HOME/Go export GOBIN=$GOROOT/bin export GOTMPDIR="/tmp" export GOARCH=386; export GOOS=linux; export PATH=$PATH:$GOROOT/bin; export PATH=$PATH:$GOPATH/bin; ## github fig for golang env: XDG_CONFIG_HOME=$HOME/.config XDG_DATA_HOME=$HOME/.local/share -------for amd64---------------- ### Golang PATH (may be in .bashrc):---- export GOROOT=$HOME/golang/go1.10.8; export GOPATH=$HOME/Go export GOBIN=$GOROOT/bin export GOTMPDIR="/tmp" export GOARCH=amd64; export GOOS=linux; export PATH=$PATH:$GOROOT/bin; export PATH=$PATH:$GOPATH/bin; ## github fig for golang env: XDG_CONFIG_HOME=$HOME/.config XDG_DATA_HOME=$HOME/.local/share ==============================Old version:-------------- # wget https://dl.google.com/go/go1.9.7.linux-386.tar.gz (sha256: c689fdb0b4f4530e48b44a3e591e53660fcbc97c3757ff9c3028adadabcf8378) export GOROOT=$HOME/golang/go1.9.7; export GOPATH=$HOME/Go export GOARCH=386; export GOOS=linux; export PATH=$PATH:$GOROOT/bin; export PATH=$PATH:$GOPATH/bin; #------------------------------------------------------- You’ll want to activate these variables. You can close and reopen your shell, or you can run: source $HOME/.profile . go version go get -v golang.org/x/tools/cmd/godoc Убедиться, что путь прописанный в GOPATH отображается в переменных Go по команде в терминале: go env Убедиться, что в терминале по команде gcc -v выводится версия компилятора. READY! -----------ETC:----------------- $ go get github.com/gonum/plot $ godoc builtin godoc -http=:6060 Or: go tool tour go test -bench=. -benchmem godoc fmt Fprint godoc cmd/net/http ListenAndServe godoc builtin make ---------Pointers:--------------------- Тот же код, но запишем тип b явно: var a int var b *int = &a fmt.Println(a, b) // выведет "0 0x10410020" здесь звёздочка означает "тип указатель на число". Но, если она используется не перед типом, а перед самой переменной, то значение меняется на обратное — "значение по этому адресу". ---DSN(mysql???):--------------- user@unix(/path/to/socket)/dbname?charset=utf8 user:password@tcp(localhost:5555)/dbname?charset=utf8 user:password@/dbname user:password@tcp([de:ad:be:ef::ca:fe]:80)/dbname ---------Find only directory:------------------ package main import ( "fmt" "io/ioutil" "log" ) func main() { files, err := ioutil.ReadDir(".") if err != nil { log.Fatal(err) } for _, file := range files { if file.Mode().IsDir() { fmt.Println(file.Name()) } } } -----Select one row:----------------- id := 1 var col string sqlStatement := `SELECT col FROM my_table WHERE id=$1` row := db.QueryRow(sqlStatement, id) err := row.Scan(&col) if err != nil { if err == sql.ErrNoRows { fmt.Println("Zero rows found") } else { panic(err) } } -------------show type:-------------- fmt.Printf("%T\n", var) ---helper:--------- func check(e error) { if e != nil { panic(e) } } -----------Install LiteIDE---------------------- https://sourceforge.net/projects/liteide/files/x34.2/liteidex34.2.linux64-qt4.8.7.tar.gz/download tar xzf liteidex34.2.linux64-qt4.8.7.tar.gz go get -u github.com/visualfc/gotools go get -u github.com/visualfc/gocode cp $GOROOT/bin/godoc ~/liteide/bin Options(Вид->параметры) -> GolangCode -> "Auto update depends package when it's source changed" set check. ``` # native compiler linux amd64 GOROOT=$HOME/golang/go1.9.7; GOPATH=$HOME/Go; GOARCH=amd64; GOOS=linux; CGO_ENABLED=1 PATH=$GOROOT/bin:$PATH LITEIDE_GDB=gdb LITEIDE_MAKE=make LITEIDE_TERM=/usr/bin/lxterminal LITEIDE_TERMARGS= LITEIDE_EXEC=/usr/bin/lxterminal LITEIDE_EXECOPT=-e LITEIDE_SHELL=lxterminal; ``` tools> select environment tools > edit current environment: (write from .bashrc) tools > reload current environment -------------------------AUTH-cookie in GIN:------------------ //Use http.Request.Cookie(cookiename) to get cookie, and http.SetCookie(gin.Context.Writer, &http.Cookie) to set cookie. ctx.SetCookie( "token", "testtoken", 3600, "/", "127.0.0.1", false, false, ) //Get cookie: http.Request.Cookie(cookiename) //Set: http.SetCookie(gin.Context.Writer, &http.Cookie) ---------MD5helper:---------------- import ( "crypto/md5" "encoding/hex" ) func GetMD5Hash(text string) string { hash := md5.Sum([]byte(text)) return hex.EncodeToString(hash[:]) } func GetSha256Hash(text string) string { hash := Cr.Sum256([]byte(text)) return hex.EncodeToString(hash[:]) } -------
Лаконично описаны приемы для Linux систем и бакенд-программирования с проверенными мной рабочими Bash и SQL командами. Так же будут рассматриватся настройка среды разработки для PHP, JavaScript/NodeJs, SQL, Go, Python и для различных баз данных в Linux.
Установка GoLang на Ubuntu14-17, Debian 8
Подписаться на:
Сообщения
(
Atom
)
Комментариев нет :
Отправить комментарий
Благодарю за ваше участие!