Указатели в Go

Содержание
Introduction
Объявление
Указать на переменную

Introduction

В Go поддерживаются несколько урезанные по сравнению с C и C++ указатели. Арифметика указателей не поддерживается

Перед чтением этой статьи желательно прочитать:

Объявление указателя

Пример

package main import ( "fmt" "reflect" ) func main() { var siteName *int = new(string) *siteName = "HeiHei" fmt.Println(siteName) fmt.Println(*siteName) fmt.Println(reflect.TypeOf(siteName)) }

go run github/youraccoutn/projectname

0xc000010260
HeiHei
*string

Указать на переменную

Пример

package main import ( "fmt" "reflect" ) func main() { siteName := "HeiHei" fmt.Println(siteName) ptr := &siteName fmt.Println(ptr, *ptr, reflect.TypeOf(ptr)) siteName = "TopBicycle" fmt.Println(ptr, *ptr, reflect.TypeOf(ptr)) }

go run github/youraccoutn/projectname

HeiHei
0xc000010280 HeiHei *string
0xc000010280 TopBicycle *string

Значение, хранящееся в переменной, на которую указывает указатель изменилось, а адрес памяти на который он указывает не изменился.

Article author: Andrei Olegovich

Похожие статьи
Development на Go
Объявление переменных
Определить тип переменной
Указатели
Константы
Установка в Linux
Go course: zero to hero in 50 lessons
Указатели в Си

Search this site

Subscribe to Telegram channel @aofeed to follow new articles and updates to old ones

Go to channel

@aofeed

Ask a question in the Telegram group

@aofeedchat

Contacts and cooperation:
I recommend our hosting beget.ru
Write to info@urn.su if you:
1. Want to write an article for our site or translate an article into your native language.
2. Want to place thematically relevant ads on the site.
3. Ads on my site pass maximum censorship. If you see an ad block unsuitable for school-age children, shocking or misleading - please contact us by e-mail
4. Found a mistake, inaccuracy, bug, etc. on the site. ... .......
5. Articles can be shared on social media by clicking a network icon: