To have a go is to make an attempt at something. Not expecting to succeed — trying anyway.
It is warm and encouraging, and telling somebody to have a go is one of the friendliest things in British English. It takes at. There is a second and quite different sense, since having a go at somebody means criticising them angrily, and only the tone and the object tell you which you are hearing. A have-a-go hero is a member of the public who tackles a criminal.