У вас проблема в том, что не отображается статика (изображения, CSS).
Эту проблему можно решить, как минимум, двумя способами.
Обслуживать статику вебсервером, например Nginx.
Или сделать handler на Go, который будет отдавать статику.
Вот тут есть хороший пример как это можно сделать
https://www.alexedwards.net/blog/serving-static-si...
Если кратко, как вариант:
1. создайте папку static и переложите туда файлы `style.css`, `dog2.jpg`
2. добавьте в URL у картинок и CSS "/static/", чтобы было вот так
<link rel="stylesheet" href="/static/style.css"/>
<img src="/static/sob2.jpg" />
3. сделайте обработчик /static
// добавьте эти строки
fs := http.FileServer(http.Dir("./static"))
http.Handle("/static/", http.StripPrefix("/static/", fs))
// перед этой строкой
http.HandleFunc("/", viewHandler)
Если настраивать через Nginx, тогда минимальные рабочие настройки будут примерно такими
server {
listen *:80;
server_name localhost;
# root /тут_путь_к_вашей_папке/static;
# для Windows будет что-то типа такого
root D:/GoExam/static;
location / {
try_files $uri @process;
}
location @process {
proxy_pass http://127.0.0.1:8080;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
proxy_send_timeout 30;
proxy_read_timeout 30;
}
}
добавлять их нужно в файл nginx.conf, в секцию http
пример
http {
# тут идут настройки Nginx
....
# тут дописываете код, что я выше написал, грубо перед закрывающей "}"
}