На самом деле,
int64((now - 1)/blockInterval * blockInterval
не возвращает один и тот же результат все время. Вы заметите, что он меняется каждые 10 секунд.
Это вызвано целочисленным делением в Go. Если вы применяете целочисленное деление к любым двум числам, то дробная часть результата (остаток) отбрасывается. Например, int(12 / 10) = 1
. В вашем конкретном случае - при делении на десять код сбрасывает остатки с 1 до 9 и увеличивает значение только тогда, когда вы переходите к следующим 10.
Если вы хотите повысить точность своих операций, то можете принудительно разделить числа с плавающей точкой следующим образом float64(12)/float64(10)
.
Я нашел легкий, если Вы используете Вход в систему командной строки
, поскольку mysql -u[username] -p[password] --local-infile
затем SET GLOBAL local_infile = 1;
выбирают Вашу базу данных use [db_name]
и наконец LOAD DATA LOCAL INFILE 'C:\\Users\\shant\\Downloads\\data-1573708892247.csv' INTO TABLE visitors_final_test FIELDS TERMINATED BY ','LINES TERMINATED BY '\r \n' IGNORE 1 LINES;
Убедитесь, что вашему пользователю MySQL предоставлена привилегия FILE.
Если вы используете общий веб-хостинг, есть вероятность, что он заблокирован вашим хостинг-провайдером.
Проще говоря: указатель - это адрес переменной, значения которой могут вас заинтересовать.
Отмена связи - это действие доступа к этому значению путем добавления *
(оператор отмены связи) к переменной указателя. Доступ может быть для чтения, записи или и того, и другого.
Если вы не инициализируете указатель на допустимый адрес (или специальное значение NULL) - вы не знаете, что содержит эта переменная. Дереференция попытается взять все, что там, и рассматривать это как адрес. Это неопределенное поведение - все ставки отменены, что угодно может случиться, хотя, если вам повезет, у вас будет исключение ловушки/оборудования.
Точно. Поскольку в p
содержался адрес выделенной памяти. Отсутствие освобождения системных ресурсов приводит к утечке. Отмена передачи удаленного указателя аналогична отмене передачи неинициализированного указателя - вы не знаете, какое значение он может содержать.
Снова, UB.
Истина. Имеется UB для x = = 0
. Висячие указатели опасны, потому что они ползут вверх в самое неподходящее время, форматируют ваш жесткий диск и больше никогда не видны. Становится невозможно обоснованно обосновать, как поведет себя ваша программа.
Из превосходной статьи Джоэла на тему:
-121--2183686-Помните, как последовательности работают в C: они состоят из набора байтов, за которыми следует нулевой символ, который имеет значение 0. Это имеет два очевидных значения:
Нет пути узнать, где заканчивается последовательность (то есть длина последовательности), не перемещаясь через нее, искать нулевой символ в конце. В вашем ряде не может быть нулей. Поэтому нельзя хранить произвольный двоичный большой двоичный объект, как рисунок JPEG, в последовательности C. Почему последовательности C работают таким образом? Это потому, что PDP-7 микропроцессор, на котором были изобретены UNIX и язык программирования C, имел строковый тип ASCIZ. ASCIZ означает «ASCII с Z (нулем) в конце».
Это единственный способ хранения последовательностей? Нет, на самом деле, это один из худших способов хранить последовательности. Для нетривиальных программ, API, операционных систем, библиотек классов следует избегать последовательностей ASCIZ, подобных чуме.
Возможно, указан неверный пароль для «user» @ «localhost»
.