Сомневаюсь, что это в рантайме происходит.
Вы можете прямо в коде дальше писать s := user.String()
Ну и вот, если покопаться как реализован Println, то можно найти такой код:
// Special processing considerations.
// %T (the value's type) and %p (its address) are special; we always do them first.
switch verb {
case 'T':
p.fmt.fmtS(reflect.TypeOf(arg).String())
return
case 'p':
p.fmtPointer(reflect.ValueOf(arg), 'p')
return
}
Наш кейс будет - T, а arg - то, что вы передаете.
Видимо, вызывается метод String(), который вы переопределили.
Если бы ваш метод назывался, скажем CustomString (я бы, как в джаве, назвал его toString)) ) то вызывался бы метод String() дефолтный, и вывод бы был {Alice 28} ожидаемый.
Как так в go получается, что можно вызвать у типа метод, который где-то там определен, я не знаю. Похоже на особенности языка.
doflare, имхо, брать меньше 4к смысла нет. Особенно если много работать с текстом. И в 4к давно можно уже играть, если не воротить нос от фпс меньше 144.
Диагональ - по вкусу.
doflare, я никогда не агитирую за бренд, но предлагаю сравнивать конкретные предложения. Сегодня вот посмотрел - rx 9070 можно взять в те же деньги (раньше вроде они подороже были). Вот тесты предлагаю изучить: https://3dnews.ru/1121234/radeon-rx-9070-protiv-ge... По тестам, без лучей и апскейлинга, rx 9070 побыстрее будет, а вот если апскейлинг включать, то rtx 5070 сильно впереди.
Выводы предлагаю сделать самостоятельно.
Я бы на вашем месте взял rtx5070, память до 32 добавил (а лучше до 64) и на сдачу процессор пятитысячной серии, r7 5700 и выше (скорее всего ваша мать их поддерживает).
Надо будет еще удостовериться, что хватает мощности БП.
Похоже на проблему с телефоном. Поищите характеристики конкретно вашей модели (не по маркетинговому названию, а по номеру) она вообще поддерживает две симки одновременно?
Ипатьев, написано в вопросе «хочу обновить железо». Не «разобраться с лагами», не «понять причину фризов», а «хочу что-то поменять». Даже бюджет указан на апгрейд.
Кстати, видеокарта тоже может быть причиной низкой производительности, например, из-за банально засохшего термоинтерфейса.
Alex-Y, ну как и все остальные приложения. Никогда ни один телефон не продавался чистеньким без предустановленных приложений. Всегда что-то там было предустановлено. Где-то больше, где-то меньше. Ничего ровным счетом не изменилось.
Вы можете прямо в коде дальше писать
s := user.String()Ну и вот, если покопаться как реализован Println, то можно найти такой код:
Наш кейс будет - T, а arg - то, что вы передаете.
Видимо, вызывается метод String(), который вы переопределили.
Если бы ваш метод назывался, скажем CustomString (я бы, как в джаве, назвал его toString)) ) то вызывался бы метод String() дефолтный, и вывод бы был {Alice 28} ожидаемый.
Как так в go получается, что можно вызвать у типа метод, который где-то там определен, я не знаю. Похоже на особенности языка.