Size: a a a

2021 May 09

ML

Maksim Litvinov in Go-go!
а так — да.
источник

AB

Andrey Burov in Go-go!
источник

ML

Maksim Litvinov in Go-go!
func GoStringUb(str *Ubyte) string {
 return C.GoString((*C.char)(unsafe.Pointer(str)))
}
😁
источник

ML

Maksim Litvinov in Go-go!
тот проект вообще всё через Cgo вызывает.
источник

ML

Maksim Litvinov in Go-go!
так что нет.
источник

AB

Andrey Burov in Go-go!
а вы какой используете?
источник

ML

Maksim Litvinov in Go-go!
никакой. syscall напрямую.
источник

AB

Andrey Burov in Go-go!
а glGetString это что?
источник

ML

Maksim Litvinov in Go-go!
получение всякой служебной инфы, типа версии GL, платформы и т.д.
источник

AB

Andrey Burov in Go-go!
как функция то выглядит эта?
источник

ML

Maksim Litvinov in Go-go!
func GlGetString(name StringName) (string, error) {
 ret, _, err := pGlGetString.Call(uintptr(name))
 if ret == 0 {
   return "", err
 }
 // TODO: can we remove Cgo?
 return C.GoString((*C.char)(unsafe.Pointer(ret))), nil
}
источник

AB

Andrey Burov in Go-go!
что за указатель на C строку ?
источник

AB

Andrey Burov in Go-go!
ret какого типа?
источник

ML

Maksim Litvinov in Go-go!
zero-terminated string, стандартная C фигня.
источник

AB

Andrey Burov in Go-go!
аа
источник

AB

Andrey Burov in Go-go!
а длинна не известна? pGlGetString.Call вторым аргументом случайно не длину строки возвращает ?
источник

ML

Maksim Litvinov in Go-go!
нет.
источник

ML

Maksim Litvinov in Go-go!
это Call стандартный из syscall
источник

ML

Maksim Litvinov in Go-go!
uintptr, uintptr, error
источник

AB

Andrey Burov in Go-go!
https://medium.com/kokster/mutable-strings-in-golang-298d422d01bc вот тут немного инфы про строки в go
источник