ok so yes im new to golang, but not to coding, I'm a bit confused with the way functions are working with golang, in this 2 weeks I have 9 times out or 10 I had an issue it was related to funtions... I'm no lazy I have search all over for examples to inspire me, but they are all under one main() funtion. I'm trying to have a http.get in one funtion and many other functions call this funtion everytime we need to use http.get so we dont repeat code over and over.. example:(this is not the actual code)
func myfunction(site) []byte {
resp, err := client.Get(site) // client is because Im tunneling thing on a proxy TOR and had to create some helpers.. but this is working ok.
return resp
}
func magic(staff) string {
// do things and create websiteurl with staff and onther contants
site := myfunction(website)
contents, err := html.Parse(site.Body)
//....
//....
return result
}
main() {
//... stuff happens :)
}
well the error is for example because I keep changing things around and getting different errors. or not at all.. but then no result..
cannot use resp.Body
(type io.ReadCloser) as type []byte
in return argument
./gobot.go:71: cannot use site (type []byte) as type io.Reader in argument to html.Parse:
when I do not get an error that is how I did it the first time the Site.Body will do nothing when parsing... I put a couple of debug prints to STDOUT and I had results like two sequence of numbers.
so basically how do I return a "result" of my query from one function to the original so it can then be parse and used? I hate to repeat code so trying to keep the repetitive code in one function and have it get it call when needed it.
thanks