Linguistic negation is actually quite a bit more complicated than it seems, since the scope of what exactly is negated and what implications are implied by the negation in a particular language can depend on multiple factors.
The characters 没(有) are used to negate the existence of something or the occurrence of an event. The character 不 is used to negate other aspects of an event or any other type of assertion that does not express an event at all.
The sentence 我没(有)去学校。expresses the non occurrence of the event of going to school. When talking about something in the past, it would normally mean: "I didn't go to school." Referring to the present, it could also translate "He hasn't gone to school." Referring to a future event, it could else express something like "without my going to school."
The sentence 我不去学校。would usually be taken as meaning as "I won't or wouldn't go to school" (indicating refusal). Here the 不 negates some other proposition of "going to school" other than its occurrence. Often it indicates a negative intention or refusal, but could also negate that "going to school" was a habit. It does not assert, other than by implication, the actual non-occurrence of the event.