instantiate prefab question

My prefab is a 3D model of a soldier with many animations and a few scripts. When I Instantiate a new one (there will be many) I use this code…

GameObject goClone;
Vector3 v3 = new Vector3(55f,15f,57f);
goClone = Instantiate(goPrefab,v3,Quaternion.identity) as GameObject;

notice I declared goClone as a GameObject. I then noticed in the scripting reference they declare clone as a rigid body or even a Transform. My question is, does it matter? Should I declare my clone as a transform and not a GameObject?

You are good with GameObject that is generic, probably the example you noticed was for a specific situation like a bullet with RigidBody attached.

If you’re going to be referring to the transform or rigidbody components primarily, then instantiating as transform or rigidbody saves having to use GetComponent for them.

–Eric

Thanks folks.