Revisei o código, e está idêntico ao mostrado pelo professor. A mensagem de confirmação aparece, mas quando clico em OK, nada acontece. A função de deletar estava funcionando normalmente antes de adicionar a parte do script em JS.
Poderia ser versão do navegador?
Antes da função onDelete:
<td><a href="/delete?id={{.Id}}" class="btn btn-danger">Deletar</a></td>
Depois:
{{range .}}
<tr>
<td>{{.Nome}}</td>
<td>{{.Descricao}}</td>
<td>{{.Preco}}</td>
<td>{{.Quantidade}}</td>
<td><button onclick="onDelete('{{.Id}}')" class="btn btn-danger">Deletar</button></td>
</tr>
{{end}}
</tbody>
</table>
</div>
</section>
<div class="card-footer">
<a href="/new" class="btn btn-primary mb-2">Criar novo produto</a>
</div>
</div>
</body>
<script>
function onDelete(id) {
let resposta = confirm("Tem certeza que deseja deletar esse produto?")
if (resposta ) {
window.location = "/delete?id=" + id
}
}
</script>
</html>
{{end}}