code: func doInit(license string, appName string, language string, languageVersion string) (int, error) {
  	clicense := C.CString(license)
  	defer C.free(unsafe.Pointer(clicense))
  
  	cappName := C.CString(appName)
  	defer C.free(unsafe.Pointer(cappName))
  
  	clang := C.CString("Go")
  	defer C.free(unsafe.Pointer(clang))
  
  	clangVersion := C.CString(runtime.Version())
  	defer C.free(unsafe.Pointer(clangVersion))
  
  	errno := C.newrelic_init(clicense, cappName, clang, clangVersion)
  	return errNo(errno)
  }
docs: /**
   * Start the CollectorClient and the harvester thread that sends application
   * performance data to New Relic once a minute.
   *
   * @param license  New Relic account license key
   * @param app_name  name of instrumented application
   * @param language  name of application programming language
   * @param language_version  application programming language version
   * @return  segment id on success, error code on error, else warning code
   */