Daniel
Vladimir
ок
или кстати и то и то, тоже может быть
Vladimir
Daniel
Воу воу вооооу...
ну - статическая слабая типизация оказалась говном, по факту. массивы без ограничения длины тоже
Egor
Egor
Чем не так uint8_t и тд?
Daniel
Egor
Или ты о чем
Pawel
Niko
Почему может получиться двойной указатель?
делаю
func(dao *ModelDAO) findByParam(rs app.RequestScope, param string) (*model.Type) {
var model model.Type
if model, err := func1(&model); err == nil {
if model, err = func2(&model); err == nil {
return nil
}
}
return &model
}
func1(dao *ModelDAO) (*ModelType) {}
func2(dao *ModelDAO) (*ModelType) {}
Daniel
Anatoly
и как исправить
package main
import (
"fmt"
)
type t struct {
id int
cnt int
}
func foo(v* interface {} ) {
*v = t{10, 20}
}
func main() {
var v interface{} = t{}
foo(&v)
fmt.Printf("%v", v)
}
Daniel
а еще оказалась говном система сборки-линковки.
Vladimir
Можно аргументы ?)
в 2017 лучше писать на Embedded подмножестве плюсов, нежели на сях. Потому что плюсы проще оптимизировать и на плюсах получается меньше кода.
Vladimir
Даже на embedded
Egor
Egor
Который держится десятилетия
Daniel
тормозит нещадно
Egor
Си тормозит ? Ты щас серьезно ?
Egor
Бенчмарки глянь
Pawel
бля, ну в С++ система сборки на много круче, да. А поцаны и не знали
идиот тот, кто переходит на личности, не так ли?
Egor
Vladimir
分解物質
//git на C написан
分解物質
Egor
В большом проекте не разобрать чё где откуда и где косяки. Есть реальные примеры переписывания больших проектов с плюсов на си
Vladimir
Vladimir
то есть пока это довод уровня "люди не умеют писать код на плюсах, поэтому выбрали Си"
Alexey 〒.
Vladimir
@podmokov еще есть чо? Кстати есть примеры и обратные - переписывания с Сей на плюсы
Egor
Egor
Техаские инструменты пишут на сях
Niko
Почему может получиться двойной указатель?
делаю
func(dao *ModelDAO) findByParam(rs app.RequestScope, param string) (*model.Type) {
var model model.Type
if model, err := func1(&model); err == nil {
if model, err = func2(&model); err == nil {
return nil
}
}
return &model
}
func1(dao *ModelDAO) (*ModelType) {}
func2(dao *ModelDAO) (*ModelType) {}
Egor
Osal c-like
Niko
там где func2 получается ошибка, что метод принимает *ModelType, а я передаю **ModelType
Pawel
то есть чтобы язык как-то использовать, надо урезать его возможности до си. классный язык, что
Niko
что с моим синтаксисом не так?
ceiling cat
тихо тут пацаны срутся
Anatoly
Коллеги, а тут много кто пишет микросервисы. А куда вы с десятков/сотен микросервисов собираете логи / сообщения о всяких ошибках? Самопальный апи? ELK? Еще что-то хитрое?
Niko
@tehfvpr та вижу. хватит им уже)))
Daniel
Niko
@anatolijs graylog
Egor
Egor
Я писал софт для BLE и мне было ок
Daniel
Си тормозит ? Ты щас серьезно ?
тормозит - страшно - система сборки и линковки. потому, что для поиска символа надо просматривать все объектники, включенные в линковку.
Egor
Я писал дрова на лин для embedded и мне было ок на сях
Vladimir
Vladimir
не для ембеддед слава богу (хотя кто знает?)
Pawel
Egor
Niko
я как web-developer чувствую себя в вашей группе не в своей тарелке)))
Vladimir
@podmokov ты тоже троллишь же, да?
Egor
Axm
Niko
ладн. позже зайду, как успокоетесь
Vladimir
Anatoly
спасибо! а с конкретным типом нельзя, получается?
почему? можно
package main
import (
"fmt"
)
type t struct {
id int
cnt int
}
func foo(v* t ) {
*v = t{10, 20}
}
func main() {
v := t{}
foo(&v)
fmt.Printf("%v", v)
}
Egor
Чё тут происходит вообще, я тоже в ридонли
Egor
Ладно на го люди пытались проект поднимать дрова переписку с сей, я ещё понял..
Niko
Почему может получиться двойной указатель?
делаю
func(dao *ModelDAO) findByParam(rs app.RequestScope, param string) (*model.Type) {
var model model.Type
if model, err := func1(&model); err == nil {
if model, err = func2(&model); err == nil {
return nil
}
}
return &model
}
func1(dao *ModelDAO) (*model.Type) {}
func2(dao *ModelDAO) (*model.Type) {}
там где func2 получается ошибка, что метод принимает *model.Type, а я передаю **model.Type
Почему указатель двоит???
Axm
ceiling cat
Niko
@tehfvpr структура
Niko
я там переименовывал
Везде model.type
Niko
кажись везде поправил
Lanegan
переопределил model же ты, не?
Илья
Niko
@di3young я второй раз не беру указатель, а передаю его по ссылке в метод. А мне говорят, что уже два указателя
Илья
Илья
берешь
Илья
if model, err := func1(&model); здесь ты создал новую переменную model в которой лижет *model
Niko
@di3young спасибо. Я думал указатель сбрасывается