IPFS Go API: Example or Tutorial?


I am new to the IPFS world and targeting to use its API for the following:

  1. Connect to an IPFS directory through its hash name and check its stat.
    (For this task, I am not sure what extra information or set-up will be needed, apart from desired hash name. Would I be required to run the ipfs daemon at my local end to establish connection?)

  2. Recursively stream all its files, say, through an io.Reader

But, I am not able to find any sample examples to start development.

Further, I am confused as to which API to use: in-process, HTTP or core

May someone guide me how I may approach towards desired solution?
I plan to study to golang code of go-ipfs CLI tool, so as to see what steps/APIs must be called and in which order, to achieve desired goal.

Thank You