A GOC was a superior commander who had one or more formation (brigade, even division) commanders and other 'commanders' (above CO) under his command. Thus GOC Western Command, back a few decades, commanded all the Army of the West within his boundaries: regular and reserve: brigades, garrisons (bases) and whatever.
In some armies there was, from time to time, a GOC-in-C (General Officer Commanding in Chief) as in GOC-in-C British Forces Germany whose responsibilities and national command authority included 1 (BR) Corps.
GSO, back in my day, when the earth was still cooling, meant General Staff Officer and we were graded, with LOs (liaison officers) and Staff Learners at the bottom and BGS (Brigadier General Staff) at the top of a heap of GSO3s, GSO2s, GSO1s (LCols) and Col GSs). There were also AG (Adjutant General) (personnel) and QMG (Quarter Master General) (logistics) staff officers with such titles as DAAG Plans (Deputy Assistant Adjutant General - Plans) and, the 'biggest' DAA&QMG â “ the Deputy Assistant Adjutant and Quarter Master General â “ a major who was the head adm & log staff officer in a brigade. The bottom of the AQ heap, just above the Los and SLs were SC-A and SC-Q: Staff Captains.
â Å“Aâ ? dealt with functions involving people, in groups, (individual personnel administration was, generally, dealt with by regimental adjutants and commanders) while the â Å“Qâ ? staff dealt with 'stuff.' A perennial question was: â Å“is graves registration A staff (burying people) or Q staff?â ? The answer is Q staff â “ dead people are no longer the A staff's problem.