Go более строг в отношении условий.Требуется логическое значение.leap
является целым числом, поэтому просто проверьте значение:
g_day_no >= (g_days_in_month[i] || (i == 1 && leap!=0))
Более подробный ответ
Booleans (True
и False
) в Python соответствуют следующим целочисленным значениям:
True=>1
False=>0
Это можно увидеть с помощью следующего:
>>> True+0
1
>>> False+0
0
Поэтому, когдау вас есть два логических значения, которые добавляются вместе, это то же самое, что и OR
:
True + True => 2 (True)
False + True => 1 (True)
True + False => 1 (True)
False + False => 0 (False)
Это та же «таблица истинности», что и OR:
True OR True =>True False ИЛИ TRUE => True True ИЛИ False => True FALSE ИЛИ FALSE => False
Поэтому измените значение +
на ||
(||
равно OR
в Go).