It looks in the path you specify in your http.Dir expression. /public in your case.
Most likely you don’t have a path called /public on your system (since this is a non-standard directory path on all OSes I’m familiar with, and I suspect you haven’t created it).
Change /public to match the path where you put your files.
4
solved Where does Go web server look for the files