Arduino:
Склеивание строк
Как это сделать:
Давайте объединим некоторые строки! Все внутри функции setup, так как нам нужен лишь быстрый взгляд — никаких повторяющихся циклов.
void setup() {
// Начать серийную связь
Serial.begin(9600);
// Создать две строки
String greeting = "Привет, ";
String name = "Arduino!";
// Конкатенировать их
String combined = greeting + name;
// Вывести результат
Serial.println(combined);
}
void loop() {
// Здесь нечего повторять
}
Запускаете, и результат ждет вас в Мониторе Порта:
Привет, Arduino!
Подробнее
Конкатенация строк так же стара, как и само программирование — появилась с первых шагов ранних языков. В Arduino вы можете использовать оператор +
, как мы это сделали, или +=
для добавления строки к существующей. За кулисами эти операторы на самом деле вызывают функции, которые обрабатывают выделение памяти и копирование символов эффективно.
Почему не всегда использовать конкатенацию? Ну, если вы работаете с микроконтроллерами с ограниченными ресурсами и проводите много операций слияния строк, вы можете столкнуться с проблемами памяти — потому что каждый раз, когда вы комбинируете, вы создаете новую строку, потребляя больше памяти. Для интенсивной манипуляции со строками иногда прибегают к массивам символов (в стиле классического C) для экономии места и избежания потенциальных проблем с производительностью.
Также обратите внимание на функции строк, такие как concat()
, которые могут добавлять не только строки, но и другие типы данных к существующей строке.
Смотрите также
Желаете узнать больше? Вот где можно углубиться:
- Справочник по строкам Arduino: arduino.cc/reference/en/language/variables/data-types/string/
- Управление памятью в Arduino: learn.adafruit.com/memories-of-an-arduino
- Недостатки строк Arduino: majenko.co.uk/blog/evils-arduino-strings