Функции из пакета io/ioutil считаются устаревшими в современном Go потому, что с версии Go 1.16 их функциональность предоставляется другими пакетами — io или os, и эти реализации предпочтительнее использовать в новом коде. 5
Пакет ioutil, в свою очередь, состоит из простых обёрток новых функций, которые находятся в пакетах io и os. 2