Указатели в 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 | |
Указатели в Си |