package main
import (
"fmt"
"regexp"
"strings"
)
func main() {
var data string = `<if> {{t}} </if> {{s}}
<if> {{gg}} </if>`
var replace = map[string]string{
"t": "te",
"s": "ss",
"gg": "гг",
}
for key, value := range replace {
data = strings.Replace(data, "{{"+key+"}}", value, 2)
}
re := regexp.MustCompile("<if>(.*?)</if>")
if_array := re.FindAllString(data, -1)
fmt.Println(if_array[0] + "\n")
fmt.Println(if_array[1] + "\n")
}
/users.Auth/
{
"login":"",
"email":"", //необязательно но я использую
"pass":""
}
rb := make([]byte, 64)
_, err := rand.Read(rb)
if err != nil {
log.Print(err)
}
var token string = `{
"user_id":"",
"name":"",
...,
"salt": "`+base64.URLEncoding.EncodeToString(rb)+`",
"expiries":"", //время жизни токена
}`
encrypt_data := xxtea.Encrypt([]byte(token), []byte("Ваш ключ для шифровки токена"))
return base64.URLEncoding.EncodeToString(encrypt_data)
Хочется и скайп браузерный запилить и быстро считать "страшную аналитику". И стримить налево направо без тормозов. Еще парсить "стопятьсоттыщ" файлов от юзеров, и статысячам сопливых девочек фоточки из "туалетов да кафе" фильтрами обмазывать.
var db gorm.DB
func main() {
router := httprouter.New()
dbConnect, err := gorm.Open("mysql", "root:parsh888@/generais?charset=utf8&parseTime=True&loc=Local")
dbConnect.DB()
dbConnect.DB().Ping()
dbConnect.DB().SetMaxIdleConns(10)
dbConnect.DB().SetMaxOpenConns(100)
dbConnect.SingularTable(true)
if err != nil {
log.Fatal(err)
}
db = dbConnect
router.GET("/auth", kontroller.Auth)
log.Fatal(http.ListenAndServe(":8080", router))
}
func Auth(w http.ResponseWriter, r *http.Request, ps httprouter.Params) {
type User struct {
UserID int `sql:"AUTO_INCREMENT;unique_index" gorm:"primary_key"`
UserLogin string `sql:"type:varchar(50);unique_index"`
UserPass string `sql:"type:varchar(200)"`
UserSaltInt string `sql:"type:bigint"`
UserSaltString string `sql:"type:text"`
}
db, err := gorm.Open("mysql", "root:parsh888@/generais?charset=utf8&parseTime=True&loc=Local")
if err != nil {
log.Fatal(err)
}
db.DB()
db.DB().Ping()
db.DB().SetMaxIdleConns(10)
db.DB().SetMaxOpenConns(100)
db.SingularTable(true)
db.CreateTable(&User{})
db.Set("gorm:table_options", "ENGINE=InnoDB").CreateTable(&User{})
}
package main
import (
"fmt"
"github.com/julienschmidt/httprouter"
"net/http"
"log"
)
func Index(w http.ResponseWriter, r *http.Request, _ httprouter.Params) {
fmt.Fprint(w, "Welcome!\n")
}
func Hello(w http.ResponseWriter, r *http.Request, ps httprouter.Params) {
fmt.Fprintf(w, "hello, %s!\n", ps.ByName("name"))
fmt.Fprintf(w, "Fam, %s!\n", ps.ByName("fam"))
}
func main() {
router := httprouter.New()
router.GET("/", Index)
router.GET("/hello/:name/:fam", Hello)
log.Fatal(http.ListenAndServe(":9001", router))
}