GOTO는 프로그래밍 언어에서 사용하는 명령어로, 프로그램 실행 중 특정 위치로 비연속적으로 점프하는 기능을 제공한다. GOTO 명령어는 주로 프로그램의 흐름 제어에 사용되며, 라벨(label)이라는 특정 지점을 참조하여 해당 위치로 프로그램의 흐름을 변경한다.
GOTO의 주요 장점은 코드의 특정 부분으로 즉각적인 이동이 가능하다는 점이다. 이를 통해 반복문이나 조건문을 사용하는 것보다 간단하게 흐름을 전환할 수 있다. 그러나 GOTO의 사용은 몇 가지 단점도 가지고 있다. 프로그램의 구조가 복잡해질 수 있으며, 코드의 가독성을 저하시킬 수 있다. 이러한 이유로 많은 현대 프로그래밍 언어에서는 GOTO의 사용을 지양하거나 대체할 수 있는 구조적 접근 방식을 권장하고 있다.
GOTO는 1950년대에 처음 도입되었으며, 이후 여러 프로그래밍 언어에 걸쳐 사용되었다. 예를 들어, 어셈블리어, BASIC, C, FORTRAN 등에서 GOTO 명령어를 지원한다. 하지만 현재의 많은 언어에서는 예외 처리, 함수 호출, 반복문, 조건문 등을 통해 프로그램의 흐름을 효과적으로 관리할 수 있도록 설계되어 있으며, GOTO의 사용은 대체로 권장되지 않는다. 이러한 배경으로 인해 GOTO는 "전통적인 프로그래밍 방식"의 상징으로 여겨지기도 한다.