Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
Я работаю с Java относительно давно
Вообще же сама по себе логика, когда при почти любой ошибке прерывается flow и исключения «обрабатываются» где-то высоко, если явно не предусмотрено обратное — ущербна
непредусмотренная явно ошибка может привести к непредсказуемым последствиям
Особо приятно ловить в Java null pointer exception.
Зато у нас есть другие плюшки, например можем ограничить длину очереди, если не будем успевать её разгрести.Ну так и в Гоу это есть: github.com/bolknote/NarchTools/blob/master/cgodownloader.go#L85 тут она как раз у меня ограничивается.
//открытие файла на чтение
hash_file, err := os.OpenFile(HASH_FILE, os.O_RDONLY, 0666)
//открытие файла на запись
hash_file, err := os.OpenFile(HASH_FILE, os.O_APPEND|os.O_CREATE, 0666)
//открытие файла на чтение
hash_file, _ := os.OpenFile(HASH_FILE, os.O_RDONLY, 0666)
//открытие файла на запись
hash_file, _ := os.OpenFile(HASH_FILE, os.O_APPEND|os.O_CREATE, 0666)
Обращу внимание на новые неблокирующие классы для работы с файлами из Java7. Найти из можно в java.nio
java.nio есть классы для асинхронного (с Java7) и неблокирующего на основе селекторов (c Java 1.4) ввода-вывода. С файлами, правда, нельзя работать с помощью селекторов, а с сокетами — ещё как можно.
Java vs Go