Исходный код Go: о символах разных алфавитов | OTUS

Исходный код Go: о символах разных алфавитов

Go_Deep_29.4-5020-43279a.png

Согласно спецификации исходный код языка Go — это Unicode-текст, закодированный с помощью UTF-8 (какая связь между этим форматом и языком Go?). Это значит, что при написании кода вы можете использовать не только символы английского алфавита, но и, например, русского или китайского oO.

package main

type Request struct {}
func MakeRequest(r Request) {}

type Запрос struct {}
func СделатьЗапрос(запрос Запрос) {}

type 要求 struct {}
func 提出要求(req 要求) {}

func main() {
    MakeRequest(Request{})
    提出要求(要求{})
    СделатьЗапрос(Запрос{})
}

Код выше скомпилируется без проблем: https://goplay.space/#nPVkld2gNjB.

О такой возможности полезно знать, но использование неанглийского языка на практике достаточно сомнительно. Особенно при написании библиотек с открытым исходным кодом и документации к ним (как часто вы ругаетесь, когда видите в важном месте популярной библиотеки комментарий на китайском языке?). Хотя существуют промышленные системы, в которых принято писать, например, на русском языке (всем известная — ). Кроме того, есть эксперименты по написанию интерпретатора естественного языка на Go: https://github.com/covrom/gonec.

Вопрос внимательному читателю: а как при написании кода на иероглифах понимать, экспортируемый идентификатор или нет? :)

Не пропустите новые полезные статьи!

Спасибо за подписку!

Мы отправили вам письмо для подтверждения вашего email.
С уважением, OTUS!

Автор
0 комментариев
Для комментирования необходимо авторизоваться
Популярное
Сегодня тут пусто