Go - Основная_syntax: Пособие для Начинающих
Привет, начинающие программисты! Я рад быть вашим проводником в этом захватывающем путешествии в мир программирования на Go. Как кто-то, кто teachesкомпьютерную наукувтечениелет, я могу assureвас, что Goотличныйязыкдляначала. Давайтепогрузимсяирассмотрим основнуюсинтаксисGoв__совместно!
Токены в Go
ТокеныявляютсястроительнымикирпичикамипрограммнаGo. Представьтеихкакотдельныесловавпредложении. В Goунасестьнесколькотиповтокенов:
- Ключевые__слова
- Идентификаторы
- Литералы
- Операторы
- Пunctuation
Давайте посмотримнапростой пример, чтобыувидетьэтитокеныв__действии:
package main
import "fmt"
func main() {
fmt.Println("Привет, Go!")
}
В этоймаленькойпрограмме, мы можемидентифицироватьразличныетокены:
- Ключевые__слова:
package
,import
,func
- Идентификаторы:
main
,fmt
,Println
- Литералы:
"Привет, Go!"
- Пunctuation:
(
,)
,{
,}
Не беспокойтесь, если это смотрится запутанно сейчас. Мыразберемэтопокусочкампо мере нашего__ движения!
Разделитель__строки
В Go, мыиспользуемточкисзапятой (;
) вкачестверазделителейстрок. Но у нас есть классная хитрость: вам действительно не нужно их набирать! КомпиляторGoавтоматическивставляетточкисзапятойвконцекаждойстроки. Неужтоэтоклассно?
например, этидвафрагментакодаэквивалентны:
fmt.Println("Привет")
fmt.Println("Мир")
fmt.Println("Привет");
fmt.Println("Мир");
Первыйвариантпредпочтителен, потомучтоончищеилегчедлячтения. Помните, впрограммировании, читаемость__ключевая!
Комментарии
Комментариикакзаметки, которыемыоставляемдлясебяидругихпрограммистов. Ониигнорируютсякомпилятором, но могутбытьоченьполезныдляобъяснениятого, чтоделаетнаша__программа.
В Go, у нас есть два типа__ комментариев:
- Однострочныекомментарии: Начинаютсяс
//
- Многострочныекомментарии: Заключенымежду
/*
и*/
Давайтепосмотримихвдействии:
// Это__однострочный__комментарий
/*
Это__многострочный__комментарий.
Он__может__занимать__несколько__строк.
Очень__полезен__для__длинных__объяснений!
*/
func main() {
fmt.Println("Комментарии__забавны!") // Вы__также__ можете__ поместить__ комментарии__в__конце__строки
}
Идентификаторы
Идентификаторыявляютсяименами, которыемыдаемсущностямвнашейпрограмме, такимкакпеременные, функцииилитипы. В Go, идентификаторыследуютэтим__правилам:
- Должныначинатьсясбуквыили__подчеркивания
- Могутсодержатьбуквы, цифрыиподчеркивания
- Чувствительныкрегистру
Вотнекоторыеvalidиinvalid__идентификаторы:
// Valid identifiers
myVariable
_secretValue
number123
camelCase
// Invalid identifiers
123number // Не__может__начинаться__с__цифры
my-variable // Тире__не__допускаются
Ключевые__слова
Ключевыесловаявляются зарезервированнымисловамивGo, которыеимеютспециальныезначения. Выне можете использоватьихвкачествеидентификаторов. ВоттаблицавсехключевыхсловвGo:
Ключевыесловав__Go | |||
---|---|---|---|
break | default | func | interface |
case | defer | go | map |
chan | else | goto | package |
const | fallthrough | if | range |
continue | for | import | return |
select | struct | switch | type |
var |
Давайтеиспользуемнекоторыеизэтихключевыхсловвпростой__программе:
package main
import "fmt"
func main() {
var age int = 25
if age >= 18 {
fmt.Println("Ты__взрослый!")
} else {
fmt.Println("Ты__несовершеннолетний.")
}
}
В этомпримере, мыиспользуемключевыеслова package
, import
, func
, var
, if
и else
.
ПробелывGo
Пробелыотносятсякпробелам, табуляцияминовымстрокамввашемкоде. В Go, пробелывосновномигнорируютсякомпилятором, заисключением тех случаев, когдаонииспользуютсядляразделения__токенов.
Этоозначает, чтовы можете использоватьпробелыдлясозданиябольшегопонятногокода. Например, этидвафрагментакодаэквивалентны:
func main(){fmt.Println("Нет__пробелов!")}
func main() {
fmt.Println("Много__пробелов!")
}
Второйвариантгораздолегчедлячтения, не так__ли?
ЭтозавершаетнашувведениевосновнойсинтаксисGo. Помните, учениекодировать похоженаизучениеновогоязыка - это требуетпрактикиитерпения. Не расстраивайтесь, если всенепонимаетсясразу. Продолжайтекодировать, продолжайтеэкспериментировать, и САМоеглавное, получайтеудовольствиеотэтого!
Внашемследующемуроке, мыуглубимсявпеременныеитипыданныхвGo. Пока что, счастливого__программирования!
Credits: Image by storyset