Сообщество golang-разработчиков 💙 @it_chat7
I've been Brahma once upon a time (I mean, my acc was stylished to look-like)
Читать полностью…Я не писал, но если хочешь туториал, то есть канал Николай Тузов
Читать полностью…А на каком ты уровне, чтобы примерно понимать что скидывать
Читать полностью…Всем привет!
А кто как Go изучал?)
Онли по документации?
Коллеги подскажите, как в го правильно управлять ресурсами, в частности работа с путями. Проблема вот в чем, у меня есть html шаблон, который находится в директории "/templates/index.gohtml", в корне проекта. Хэндлер который работает с этим шаблоном находится в директории "/internal/http", если запускать юнит-тесты, то они уже не видят директорию с шаблоном, т.к. рабочая директория у теста та в которой он расположен.
Суть вопроса: есть ли практики (например как в Java, где ресурсы доступны из classpath) по управлению ресурсами, чтобы они были доступны, как из тестов так и из приложения?
привет. подскажите пожалуйста почему на второй итерации panic: unexpected newline
////////////////////////console/////////////////////////////
go run main.go
Welcome to calculator!
Please set your expression like 2 + 3 and press Enter
6 + 3
6 + 3 = 9
please set your next expression like 2 + 3 and press Enter
panic: unexpected newline
goroutine 1 [running]:
main.main()
C:/Projects/golang/testPlace/main.go:33 +0x2cb
exit status 2
make: * [Makefile:2: run] Error 1
////////////////////////console/////////////////////////////
package main
import (
"fmt"
"time"
)
func main() {
fmt.Println("Welcome to calculator!")
var a string
var x float64
var y float64
var action func(x, y float64) float64
var printFlag bool
printFlag = false
fmt.Println("Please set your expression like 2 + 3 and press Enter")
_, err := fmt.Scanf("%g %s %g", &x, &a, &y)
if err != nil {
panic(err)
}
for {
if !printFlag {
printFlag = true
} else {
time.Sleep(time.Second * 2)
fmt.Println("please set your next expression like 2 + 3 and press Enter")
_, err = fmt.Scanf("%g %s %g", &x, &a, &y)
if err != nil {
panic(err)
}
}
process(action, a, x, y)
}
}
func process(action func(x, y float64) float64, a string, x, y float64) {
switch a {
case "+":
action = func(x, y float64) float64 { return x + y }
break
case "-":
action = func(x, y float64) float64 { return x - y }
break
case "*":
action = func(x, y float64) float64 { return x * y }
break
case "/":
action = func(x, y float64) float64 { return x / y }
break
}
fmt.Println(x, a, y, "=", calculate(action, x, y))
fmt.Println("")
}
func calculate(a func(x, y float64) float64, x, y float64) float64 {
return a(x, y)
}
even I, after 4 years of working with it, found out that there are TOO much fuckups under the hood
Читать полностью…then gonna start doing some dirty things with this babe
Читать полностью…Еще есть курс на степике, он на русском и все темы разжовывают
Читать полностью…Полтора года коммерческого опыта на Питоне имеется)
Читать полностью…Передавайте путь нахождения шаблонов через переменную окружения, например.
Читать полностью…