Оператор амперсанд (&) | Microsoft Learn
Twitter LinkedIn Facebook Адрес электронной почты
- Статья
- Чтение занимает 2 мин
Используется для принудительного объединения строк двух выражений.
Синтаксис
результат = выражение1 & выражение2
Синтаксис оператора & включает три следующих элемента:
Part | Описание |
---|---|
результат | Обязательный элемент; любая переменная типа String или Variant. |
выражение1 | Обязательный элемент, любое допустимое выражение. |
выражение2 | Обязательный элемент, любое допустимое выражение. |
Если выражение не является строкой, оно преобразуется в вариант типа String. Тип данных результата — строка, если оба выражения представляют собой строковые выражения; в противном случае результат будет представлять собой вариант типа String.
Если оба выражения имеют значение Null, результат тоже будет иметь значение Null. Тем не менее, если только одно выражение
Пример
В этом примере оператор & используется для принудительного объединения строки.
Dim MyStr MyStr = "Hello" & " World" ' Returns "Hello World". MyStr = "Check " & 123 & " Check" ' Returns "Check 123 Check".
См. также
- Сводка операторов
Поддержка и обратная связь
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.
Зачем в Go амперсанд и звёздочка (& и *)? / Хабр
Если вы хоть раз были сбиты с толку, что означает символ «амперсанд» (&
) или «звёздочка» («знак умножения», *
) или запутывались, когда что использовать, то это статья для вас. Авторы Go старались сделать язык знакомым большинству программистов, и многие элементы синтаксиса заимствовали из языка С. Но в 2017м уже сложно понять, большинство программистов владеют С или нет, и смею полагать, что уже нет. Поэтому концепции хорошо знакомые прошлому поколению разработчиков, могут выглядеть совершенной абракадаброй для для нового поколения. Давайте немного копнём историю и расставим все точки над ї в вопросах указателей в Go и использования символов
и *
.
Про то, что такое и как устроены указатели я писал в статье «Как не наступать на грабли в Go», которую рекомендую к прочтению даже не новичкам в Go. Краткий повтор про указатели:
по сути, это один блок памяти, который содержит адрес другого блока памяти, где лежат данные. Если вы слышите фразу «разыменовать указатель», то это означает «найти данные из блока памяти, на который указывает этот адрес».
Вот визуализация из статьи:
Здесь Point{10, 20}
это «литерал» — новая переменная, объявленная на месте, «блок памяти», а & — это «адрес этого блока памяти».
Тоесть в коде:
var a int var b = &a fmt.Println(a, b) // выведет "0 0x10410020"
переменная b
будет является указателем и содержать адрес a
.
Тот же код, но запишем тип b явно:
var a int var b *int = &a fmt.Println(a, b) // выведет "0 0x10410020"
здесь звёздочка означает «тип указатель на число». Но, если она используется не перед типом, а перед самой переменной, то значение меняется на обратное — «значение по этому адресу»:
var a int var b *int = &a var c int = *b fmt.Println(a, b, c) // выведет "0 0x10410020 0"
Это может запутывать и сбивать с толку, особенно людей, никогда, не работавших с указателями, которых нет, например, в таких популярных языках как JavaScript или Ruby. Причём в языках вроде C и С++ есть ещё масса применений указателям, например «арифметика указателей», позволяющая вам прямо смещениями по сырой памяти бегать и реализовывать невероятно быстрые по современным меркам структуры данных.
Но если механика работы с указателями в Go относительно простая, остаётся открытым вопрос — почему «амперсанд» и «звёздочка» — что это вообще должно означать? Возможно это потому что символы рядом на клавиатуре (Shift-7
и Shift-8
)? Ну а чтобы понять любую тему, нет способа лучше, нежели копнуть её историю.
А история такова. Одним из авторов Go был легендарный Кен Томпсон, один из пионеров компьютерной науки, подаривший нам регулярные выражение, UTF-8 и язык программирования B, из которого появился C, на базе которого, 35 лет спустя, появился Go. Вообще, генеалогия Go немного сложнее, но С был взят за основу по той простой причине, что это язык, который десятилетиями был стандартом для изучения программирования в университетах, ну и о его популярности в своё время, думаю, не нужно говорить.
И хотя сейчас Кен Томпсон отошёл немного от Go и летает на своём частном самолёте, его решения проникли в Go ещё задолго до Go. В юности он развлекался тем, что писал на завтрак новые языки программирования (слегка утрирую), и одним из языков, который был им создан вместе с ещё одной легендой компьютерной науки Денисом Ритчи, являлся язык программирования B (Би).
В то время Кен Томпсон написал операционную систему на ассемблере для компьютера PDP-7, который стоил 72000 долларов — а это примерно полмиллиона долларов сегодня — обладал памятью в 9 КБ (расширялась до 144КБ) и выглядел вот так:
Собственно, эта операционная система называлась Unics, и затем была переименована в UNIX. И когда зашла речь о переписывании её для нового крутого компьютера PDP-11, было принято решение писать на каком-то более высокоуровневом языке программирования. BCPL, который был предшественником B был слишком многословен — много букв. B был более лаконичен, но имел другие проблемы, которые делали его плохим кандидатом для портирования UNIX на PDP-11.
Но вернёмся к теме об амперсанде и звёздочке. Звёздочка (*
) была ещё в языке BCPL, и в B попала с тем же смыслом обозначения указателя, просто потому что так было в BCPL. Ровно по этой же причине перекочевали в С.
А вот амперсанд (&), означающий «адрес переменной», появился в B (и также перекочевал в С просто потому что), и был выбран по нескольким причинам:
- нужен был один символ, а не два или целое слово
- выбор символов был очень ограниченный (об этом чуть ниже)
- как говорит сам Кен Томпсон, слово «амперсанд» звучало мнемонически похоже на «адрес» и было выбрано именно по этому.
Если я вас запутал, то вот нагляднее:
И тут нужно посмотреть внимательно на клавиатуры того времени. Чуть выше на картинке PDP-7 можно рассмотреть вводное устройство, коим являлся Телетайп 33. Стоит посмотреть на его клавиатуру повнимательнее, чтобы понять реалии того времени, и понять, с какими ограничениями сталкивались программисты и дизайнеры языков программирования в то время:
Как можно увидеть, ни тачбара, ни эмоджи не было :), и символы приходилось выбирать только из того набора, который был в телетайпе. Также, примечательно, что амперсанд и звёздочка тогда были не рядом, а на целых 4 клавиши порознь, что опровергает идею выбора амперсанда из-за близости клавиш. Собственно, из всех доступных клавиш, Кену Томпсону на тот момент больше всего приглянулся «амперсанд», похожий на «адрес».
Ну а дальше вы знаете — С стал языком века (прошлого), повлиял на огромное количество других языков, а книги по С стали настольными библиями программистов на несколько десятилетий. В таком же виде указатели вместе со звёздочкой и амперсандом попали и в С++ — ещё один язык мейнстримовый язык, на котором до Go писалась большая часть сетевого и серверного софта.
Поэтому решение включить указатели (без арифметики указателей, к счастью) в Go с тем же синтаксисом — было вполне логичным и естественным. Для С/C++ программистов это такие же базовые и простые понятия, как скобочки
{
и }
.
И всё таки это удивительно осознавать, какое сильное влияние имеют исторические решения, принятые пол столетия назад на современные технологии.
Если вы всё ещё неуверенно себя чувствуете себя с указателями в Go, запомните два простых правила:
- «Амперсанд»
&
звучит похоже на «Адрес» (ну, и то слово и другое на «А» начинается, по крайней мере)))), поэтому&x
читается как «адрес переменной X» - звёздочка
*
ни на что не похоже на звучит, но может использоваться в двух случаях — перед типом (var x *MyType
— означает «тип указателя на MyType») и перед переменной (*x = y
— означает «значение по адресу»)
Надеюсь, кому то это немного поможет лучше понимать смысл указателей и символов, стоящими за ними в Go.
Амперсанд Определение и значение — Merriam-Webster
ам·на·песок ˈam-pər-ˌsand
: символ, обычно обозначающий слово и
Знаете ли вы?
Несмотря на внешний вид, история ampersand ничем не обязана amp или sand . Знакомый символ & происходит от символа, который использовался вместо латинского слова и , что также означает «и». В позднем Средневековье отдельные буквы, использовавшиеся в качестве слов — такие слова, как I — при написании включались в фразу, которая разъясняла, что они на самом деле были отдельными словами. Для я фраза была I per se, I , что на латыни означает *I* само по себе (слово) *I*. В ранних списках алфавита за Z следовал символ и , который отображался как & per se, и , что означало « и сами по себе (это слово) и ». С годами эта фраза (которая при произнесении вслух произносилась как «and per se and») была сокращена носителями английского языка до амперсандов .
Примеры предложений
Недавние примеры в Интернете
В 2021 году Черч стал большим и выпустил альбом из трех частей под названием Heart & Soul, в котором каждое слово — и амперсандов — представляют разные части. — Джон Фриман, Rolling Stone , 11 января 2023 г.
Для URL-адресов, которые уже имеют вопросительный знак, добавьте амперсанд вот так: &t=00m00s.
— Ким Командо, USA TODAY , 13 февраля 2022 г.
Новая ориентация предназначена для выделения амперсанда .
— Джордан Валински, CNN , 23 января 2022 г.
Конечно, амперсанд , вероятно, был бы хуже, но что случилось со старыми добрыми днями, когда руководители отдела маркетинга зарабатывали себе на зарплату, придумывая новые имена, а не добавляя символы к старым?
— Анжела Уотеркаттер, 9 лет.0007 Wired , 18 сентября 2020 г.
То, что выглядит как амперсанд , на самом деле должно быть 4.
— Dallas News , 30 июля 2020 г.
Нарисуйте амперсанд на футболке вашей собаки, чтобы сделать акцент.
— Новости NBC , 24 октября 2019 г.
У Asos даже есть несколько радужных футболок ampersand из прошлогодней коллекции.
— Хилари Джордж-Паркин, 9 лет.0007 Vox , 2 июля 2019 г.
Некоторые люди сказали бы, что Коллегия выборщиков или кто-то по имени Кайл, или пароли длиной не более 16 символов, содержащие число, амперсанд , и по крайней мере одну заглавную букву.
— Джо Куинэн, WSJ , 9 ноября 2018 г.
Узнать больше
Эти примеры предложений автоматически выбираются из различных онлайн-источников новостей, чтобы отразить текущее использование слова «амперсанд». Мнения, выраженные в примерах, не отражают точку зрения Merriam-Webster или ее редакторов. Отправьте нам отзыв.
История слов
Этимология
изменение и (&) как таковых и буквально, (символ) и само по себе (слово) и
Первое известное использование
1795, в значении, определенном выше
Путешественник во времени
Первое известное использование амперсанда было в 1795 г.
Другие слова того же года
Подкаст
Музыкальная тема Джошуа Стэмпера © 2006 New Jerusalem Music/ASCAP
Получайте «Слово дня» на свой почтовый ящик!
Словарные статьи рядом с
амперсандамперометрия
амперсанд
амфероток
Посмотреть другие записи поблизости
Процитировать эту запись «Амперсанд».

Копировать ссылку
Детское определение
Амперсанд
существительное
ам·на·песок ˈam-pər-ˌsand
: символ и обозначение слова и
Еще от Merriam-Webster о
амперсандАнглийский: Перевод амперсанд для говорящих на испанском языке
3
Последнее обновление: — Обновлены примеры предложений
Подпишитесь на крупнейший словарь Америки и получите тысячи дополнительных определений и расширенный поиск без рекламы!
Merriam-Webster без сокращений
Амперсанд Определение и значение | Dictionary.com
- Лучшие определения
- Викторина
- Примеры
- Британский
- Культурный
Показывает уровень сложности слова.
[ам-на-песок, ам-на-песок]
/ ˈæm pərˌsænd, ˌæm pərˈsænd /
Сохрани это слово!
Показывает уровень сложности слова.
существительное
буква или символ (& или ) для и: Smith & Jones, Inc.
ВИКТОРИНА
ВЫ ПРОПУСТИТЕ ИЛИ ЗАПОЛНИТЕ ЭТИ ГРАММАТИЧЕСКИЕ ВОПРОСЫ?
Плавно переходите к этим распространенным грамматическим ошибкам, которые ставят многих людей в тупик. Удачи!
Вопрос 1 из 7
Заполните пропуск: Я не могу понять, что _____ подарил мне этот подарок.
Происхождение амперсанда
18:20–30; сокращение и per se и буквально (символ) & само по себе (обозначает) и; см. как таковые
Слова рядом амперсанд
ампер-час, закон Ампера, ампер-виток, амперометрический, амперометрическое титрование, амперсанд, амфетамин, амфи-, амфиарай, амфиартроз, амфиастр
Dictionary.com Unabridged На основе Random House Unabridged Dictionary, © Random House, Inc., 2023
Как использовать амперсанд в предложении
Специальные символы, такие как амперсанд или «&», а также цифры лучше всего подходят для тега заголовка страницы или тега заголовка.
Пять лайфхаков для повышения органического CTR и рейтинга в поисковой выдаче|Карл Табланте|27 января 2021|Наблюдение за поисковыми системами
И он посвятил целую главу красоте амперсанда.
Mad About Fonts|Малкольм Джонс|4 октября 2011|DAILY BEAST
Мы приземлились на песчаном пляже в устье небольшого ручья, где сожженное дерево отмечало начало тропы Амперсанда.
Литтл-Риверс|Генри ван Дайк
Амперсанд, отстающий на тысячу футов от необходимой высоты, не может претендовать на это отличие.
Литтл-Риверс|Генри ван Дайк
Я настроил свой инструмент на пруд Амперсанд, посмотрел на картинку через матовое стекло и измерил фокус.
Литтл-Риверс|Генри ван Дайк
В 1878 году, когда я провел три недели в Амперсанде, хижина была в руинах и окружена почти непроницаемыми кустами.
Little Rivers|Henry van Dyke
М в любопытном слове амперсанд, написанном по-разному, происходит из-за соседнего p.
Роман слова (4 -е изд.) | Ernest Weekley
Британский словарь определения для Ampersand
Ampersand
/ (ˈ ˈMPəˌsænd) /
NOUN
(&), знаменит и не имеет
Происхождение слова для амперсанда
C19: сокращено от и per se и, то есть символ & сам по себе (представляет) и
Английский словарь Коллинза — полное и полное цифровое издание 2012 г.