Индекс GoLang Array на Struct

JDK 1.6, который я сейчас использую на OSX Mountain Lion, также не был с src.zip, и насколько я могу судить, нет поддерживаемого OSX JDK для версии 1.6.

Поэтому я загрузил источник OpenJDK (используя ссылки из принятого ответа (+1)), затем выполнил:

cd ~/Downloads
mkdir jdk6src
cd jdk6src
tar xf ../openjdk-6-src-b27-26_oct_2012.tar.gz
cd jdk/src/share/classes
jar cf /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/src.jar *

(ваши имена файлов и пути могут меняться ...)

Связать это src.jar с соответствующей платформой Java в вашей среде IDE, и вам должно быть хорошо идти.

Существуют некоторые расхождения между исходным кодом OpenJDK и JDK, который я сейчас выполняю (номера строк, t совпадают в отладчике, для одного), но если все, что вам нужно, это zip / jar, чтобы указать вашу среду IDE для относительно небольшого числа случаев, вам нужно заглянуть в какой-то код, чтобы понять, как что-то работает, тогда это должно сделать трюк .

2
задан Tim Cooper 13 July 2018 в 22:05
поделиться

1 ответ

Измените строку в цикле на fmt.Println((*array)[i])

*array[i], попытайтесь разыменовать [i]

(*array)[i], чтобы устранить array, который является вашим указателем .

Рабочий пример: https://play.golang.org/p/yr6WbtS3Aq_c

4
ответ дан H4xorPL 17 August 2018 в 12:07
поделиться
  • 1
    Функция массива не является индексом строки. Как бы вы получили доступ ко второму элементу в строке, поскольку вы не можете сделать [i] [] i]? – user10078199 13 July 2018 в 22:16
  • 2
    fmt.Println ((* array) [i] .low). Это структуры Bar, со значениями для высоких и низких. Хотя вы инициализируете их в том, что выглядит как массив или срез, они не являются массивами, они имеют тип Bar. – LanceH 13 July 2018 в 22:25
  • 3
    Я смотрел на массив вроде # 7 на этом посту stackoverflow.com/questions/5868927/… – user10078199 13 July 2018 в 22:33
Другие вопросы по тегам:

Похожие вопросы: