<?xml version="1.0" encoding="utf-8" ?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:tt="http://teletype.in/" xmlns:opensearch="http://a9.com/-/spec/opensearch/1.1/"><title>Baloo</title><subtitle>Друг суслика</subtitle><author><name>Baloo</name></author><id>https://teletype.in/atom/baloo</id><link rel="self" type="application/atom+xml" href="https://teletype.in/atom/baloo?offset=0"></link><link rel="alternate" type="text/html" href="https://teletype.in/@baloo?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=baloo"></link><link rel="next" type="application/rss+xml" href="https://teletype.in/atom/baloo?offset=10"></link><link rel="search" type="application/opensearchdescription+xml" title="Teletype" href="https://teletype.in/opensearch.xml"></link><updated>2026-04-17T07:57:17.088Z</updated><entry><id>baloo:5qS73wUVwz</id><link rel="alternate" type="text/html" href="https://teletype.in/@baloo/5qS73wUVwz?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=baloo"></link><title>Типичная ошибка с goroutines</title><published>2022-06-16T09:34:17.867Z</published><updated>2022-06-16T09:34:17.867Z</updated><category term="go" label="Go"></category><tt:hashtag>go</tt:hashtag><tt:hashtag>golang</tt:hashtag><summary type="html">Часто на собеседованиях предлагают объяснить и поправить вот такой код:</summary><content type="html">
  &lt;p id=&quot;OI2l&quot;&gt;Часто на собеседованиях предлагают объяснить и поправить вот такой код:&lt;/p&gt;
  &lt;pre id=&quot;H337&quot; data-lang=&quot;go&quot;&gt;for _, val := range values {
  go func() {
    fmt.Println(val)
  }()
}&lt;/pre&gt;
  &lt;p id=&quot;EzJT&quot;&gt;Правильный ответ:&lt;/p&gt;
  &lt;pre id=&quot;glta&quot; data-lang=&quot;go&quot;&gt;// assume the type of each value is string
for _, val := range values {
  go func(val string) {
    fmt.Println(val)
  }(val)
}&lt;/pre&gt;
  &lt;p id=&quot;9dOm&quot;&gt;Кто догадался молодец! А кто не догадался - рекомендую почитать эту статью, там освещается работа runtime scheduler.&lt;/p&gt;
  &lt;p id=&quot;Fl9o&quot;&gt;&lt;a href=&quot;https://habr.com/ru/company/badoo/blog/468863/&quot; target=&quot;_blank&quot;&gt;https://habr.com/ru/company/badoo/blog/468863/&lt;/a&gt;&lt;/p&gt;
  &lt;tt-tags id=&quot;1j0l&quot;&gt;
    &lt;tt-tag name=&quot;go&quot;&gt;#go&lt;/tt-tag&gt;
    &lt;tt-tag name=&quot;golang&quot;&gt;#golang&lt;/tt-tag&gt;
  &lt;/tt-tags&gt;

</content></entry><entry><id>baloo:F6NIrEB9Qvs</id><link rel="alternate" type="text/html" href="https://teletype.in/@baloo/F6NIrEB9Qvs?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=baloo"></link><title>Это важно! Это срочно!</title><published>2022-06-14T12:38:17.379Z</published><updated>2022-06-14T12:38:17.379Z</updated><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img1.teletype.in/files/87/68/8768a57d-ec9b-467c-9c41-80aa3a1e4d9e.png"></media:thumbnail><summary type="html">&lt;img src=&quot;https://s0.rbk.ru/v6_top_pics/media/img/5/32/756214327765325.jpg&quot;&gt;Напоминаю, что если вам ставят задачи с использованием таких наречий - вы можете воспользоваться мартицей Эйзенхауэра, чтобы раставить приоритеты.</summary><content type="html">
  &lt;p id=&quot;PdQY&quot;&gt;Напоминаю, что если вам ставят задачи с использованием таких наречий - вы можете воспользоваться мартицей Эйзенхауэра, чтобы раставить приоритеты.&lt;/p&gt;
  &lt;figure id=&quot;heC5&quot; class=&quot;m_original&quot;&gt;
    &lt;img src=&quot;https://s0.rbk.ru/v6_top_pics/media/img/5/32/756214327765325.jpg&quot; width=&quot;1180&quot; /&gt;
    &lt;figcaption&gt;Матрица Эйзенхауэра&lt;/figcaption&gt;
  &lt;/figure&gt;
  &lt;p id=&quot;IW0L&quot;&gt;Подробнее на РБК:&lt;br /&gt;&lt;a href=&quot;https://trends.rbc.ru/trends/education/60a519599a7947430a73ff6b&quot; target=&quot;_blank&quot;&gt;https://trends.rbc.ru/trends/education/60a519599a7947430a73ff6b&lt;/a&gt;&lt;/p&gt;

</content></entry><entry><id>baloo:5mZAsQAEazc</id><link rel="alternate" type="text/html" href="https://teletype.in/@baloo/5mZAsQAEazc?utm_source=teletype&amp;utm_medium=feed_atom&amp;utm_campaign=baloo"></link><title>nil != something</title><published>2021-11-12T14:52:48.505Z</published><updated>2021-11-12T14:52:48.505Z</updated><tt:hashtag>golang</tt:hashtag><tt:hashtag>go</tt:hashtag><summary type="html">Недавно обнаружил, что некоторые разработчики используют конструкцию</summary><content type="html">
  &lt;p id=&quot;DaEi&quot;&gt;Недавно обнаружил, что некоторые разработчики используют конструкцию&lt;/p&gt;
  &lt;pre id=&quot;MnJL&quot; data-lang=&quot;go&quot;&gt;if nil == something { 
    return errors.New(&amp;quot;Some error&amp;quot;)
}&lt;/pre&gt;
  &lt;p id=&quot;N5Xh&quot;&gt;Коллеги из С++ подсказали, что есть &amp;quot;дедовский&amp;quot; способ не допустить логическую ошибку присваивания переменной &lt;strong&gt;something&lt;/strong&gt; значения &lt;strong&gt;nil. &lt;/strong&gt;Если &lt;strong&gt;something &lt;/strong&gt;является указателем на какой-то тип, то пропустив знак &lt;strong&gt;= &lt;/strong&gt;можно присвоить переменной &lt;strong&gt;something. &lt;/strong&gt;Хотя компилятор Go не даст присвоить &lt;code&gt;something = nil.&lt;/code&gt; Интересные привычки приносят из других языков в код.&lt;/p&gt;
  &lt;tt-tags id=&quot;9EPX&quot;&gt;
    &lt;tt-tag name=&quot;golang&quot;&gt;#golang&lt;/tt-tag&gt;
    &lt;tt-tag name=&quot;go&quot;&gt;#go&lt;/tt-tag&gt;
  &lt;/tt-tags&gt;

</content></entry></feed>