개념 | O/X | 설명 |
---|---|---|
클래스 | X | 클래스는 없지만, 매서드를 가지는 구조채를 지원 |
상속 | X | 상속 미지원 |
메서드 | O | 구조체가 메서드를 가질 수 있음 |
인터페이스 | O | 상속이 없지만 인터페이스는 있음 |
익명 함수 | O | 함수 리터럴이라는 이름으로 제공 |
가비지 컬렉터 | O | 고성능 가비지 컬렉터 제공 |
포인터 | O | 메모리 주소를 가리키는 포인터 존재 |
제네릭 프로그래밍 | O | 1.18 버전부터 지원 |
네임스페이스 | X | 모든 코드는 패키지 단위로 분리 |
go mod init DIRS
로 생성이 필요함go gool dist list
/*
이 코드가 어떤 패키지에 속해 있는지 선언
go 언어의 모든 코드는 패키지 선언으로 시작해야 함
main() 함수가 없는 패키지는 패키지 이름으로 main 을 쓸 수 없음
곧, 실행 파일을 만들 수 없고 다른 패키지에서 import 할 함수로 사용됨
*/
package main
// 표준 입출력 내장 패키지
import "fmt"
/*
프로그램의 진입점
main() 함수는 프로그램의 시작과 끝을 나타냄
*/
func main() {
fmt.Println("Hello, World!")
}
var a int = 10
var
변수 선언 키워드
a
변수명
int
타입
10
초기 값