РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
1577 of 1593 menu

Тип C.long

Тип C.long в cgo используется для представления типа long из языка C. Он позволяет передавать целочисленные значения между Go и C-кодом, обеспечивая правильное соответствие размеров и диапазонов значений. В 64-битных системах long обычно занимает 8 байт, а в 32-битных - 4 байта.

Синтаксис

var num C.long num = 42

Пример

Давайте создадим переменную типа C.long и передадим ее в C-функцию:

package main /* #include <stdio.h> void printLong(long val) { printf("Long value: %ld\n", val); } */ import "C" func main() { var num C.long = 12345 C.printLong(num) }

Результат выполнения кода:

"Long value: 12345"

Пример

Давайте передадим значение типа C.long из C-функции обратно в Go:

package main /* long getNumber() { return 9876; } */ import "C" import "fmt" func main() { res := C.getNumber() fmt.Println(res) }

Результат выполнения кода:

"9876"

Пример

Давайте преобразуем C.long в тип int64 для безопасной работы в Go:

package main /* long multiply(long a, long b) { return a * b; } */ import "C" import "fmt" func main() { a := C.long(15) b := C.long(7) res := C.multiply(a, b) goValue := int64(res) fmt.Println(goValue) }

Результат выполнения кода:

"105"

Смотрите также

  • тип C.int,
    который соответствует типу int в языке C
  • тип C.char,
    который представляет символьный тип в C
  • тип C.float,
    который соответствует типу float в языке C
  • тип C.double,
    который представляет число с плавающей точкой двойной точности
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить