Указатели в Go

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

Введение

В 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

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

Похожие статьи
Программирование на Go
Объявление переменных
Определить тип переменной
Указатели
Константы
Сертификаты
Запросы к REST API на Go
Установка в Linux
Указатели в Си