The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Релиз языка программирования Go 1.8"
Версия для распечатки Пред. тема | След. тема
Форум Разговоры, обсуждение новостей
Исходное сообщение [ Отслеживать ]
Подсказка: Для сортировки сообщений в нити по дате нажмите "Сортировка по времени, UBB".
. "Релиз языка программирования Go 1.8" +2 +/
Сообщение от Мяут (ok), 17-Фев-17, 17:55 
Там компилятор автоматически определяет, нужно ли переменную на стеке создавать (если она не покидает пределов области видимости) или в куче. Можно -gcflags -m использовать, оно скажет что будет на куче создаваться. Например:


type S struct {
    I int
}

func foo() func () S {
    var s S
    fmt.Scan(s.I)
    return func () S { return s }
}

скажет "src/stack.go:13: s.I escapes to heap"

UPD: благодаря этому можно кстати поинтеры на локальные переменные возвращать без плохих последствий

Ответить | Правка | Наверх | Cообщить модератору

Оглавление
Релиз языка программирования Go 1.8, opennews, 17-Фев-17, 13:03  [смотреть все]
Форумы | Темы | Пред. тема | След. тема



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру