$GOROOT/bin/go version
или перебить глобальную переменную PATH добавив туда $GOROOT/bin.export GOROOT=$HOME/lab/go/go
export GOPATH=$HOME/lab/go/gopath
export PATH=$GOROOT/bin:$GOPATH/bin:$PATH
package main
import (
"fmt"
"regexp"
)
func main() {
// Compile the expression once, usually at init time.
// Use raw strings to avoid having to quote the backslashes.
var validID = regexp.MustCompile(`^[a-z]+\[[0-9]+\]$`)
fmt.Println(validID.MatchString("adam[23]"))
fmt.Println(validID.MatchString("eve[7]"))
fmt.Println(validID.MatchString("Job[48]"))
fmt.Println(validID.MatchString("snakey"))
}
func(w http.ResponseWriter, r *http.Request) {
// ...
// OR
w.Header().Set("Content-Type", "text/plain")
// OR
w.Write([]byte("This is an example server.\n"))
// OR
fmt.Fprintf(w, "%s", "some string")
}
он компилирует под текущую архитектуру?
Как в windows компилировать кроссплатформенно?
set GOARCH=amd64
set GOOS=linux
go install
// RemoteAddr returns the remote network address.
RemoteAddr() Addr
ln, err := net.Listen("tcp", ":8080")
if err != nil {
// handle error
}
for {
conn, err := ln.Accept()
if err != nil {
// handle error
}
fmt.Println(conn.RemoteAddr()) // <---------------
go handleConnection(conn)
}
как понять что Иван это Иван а не Коля
// что это за secret key и зачем он используется
https://github.com/boj/redistore
make([]int, 0, len(mySliceOfStrings))
make([]int, len(mySliceOfStrings))
type MyJsonName struct {
Attachment struct {
Photo struct {
AccessKey string `json:"access_key"`
Aid int `json:"aid"`
Created int `json:"created"`
Height int `json:"height"`
OwnerID int `json:"owner_id"`
Pid int `json:"pid"`
Src string `json:"src"`
SrcBig string `json:"src_big"`
SrcSmall string `json:"src_small"`
SrcXbig string `json:"src_xbig"`
SrcXxbig string `json:"src_xxbig"`
Text string `json:"text"`
UserID int `json:"user_id"`
Width int `json:"width"`
} `json:"photo"`
Type string `json:"type"`
} `json:"attachment"`
Attachments []struct {
Photo struct {
AccessKey string `json:"access_key"`
Aid int `json:"aid"`
Created int `json:"created"`
Height int `json:"height"`
OwnerID int `json:"owner_id"`
Pid int `json:"pid"`
Src string `json:"src"`
SrcBig string `json:"src_big"`
SrcSmall string `json:"src_small"`
SrcXbig string `json:"src_xbig"`
SrcXxbig string `json:"src_xxbig"`
Text string `json:"text"`
UserID int `json:"user_id"`
Width int `json:"width"`
} `json:"photo"`
Type string `json:"type"`
} `json:"attachments"`
Comments struct {
Count int `json:"count"`
} `json:"comments"`
Date int `json:"date"`
FromID int `json:"from_id"`
ID int `json:"id"`
IsPinned int `json:"is_pinned"`
Likes struct {
Count int `json:"count"`
} `json:"likes"`
PostType string `json:"post_type"`
Reposts struct {
Count int `json:"count"`
} `json:"reposts"`
SignerID int `json:"signer_id"`
Text string `json:"text"`
ToID int `json:"to_id"`
}
В контекстное меню панели закладок добавляется команда «Использовать боковые вкладки». С ее помощью можно переключаться между двумя режимами отображения вкладок: в верхней части экрана (по умолчанию) и сбоку. Боковые вкладки удобны при работе на широкоэкранных мониторах.