프로그래밍에서는 터치 타이핑이 중요합니다. 빠른 입력 기술을 사용하여 Go 프로그래밍 언어로 코드를 작성하는 것이 더 효율적입니다.
Go 프로그래밍 및 터치 입력
Go 프로그래밍과 타자 연습은 자연스럽게 연결됩니다. Go는 엄격한 구문 규칙과 특별한 기호들을 가지고 있으며, 빠르게 입력할 때 실수하기 쉽습니다. 중괄호나 연산자를 잘못 입력하면 즉시 컴파일 오류가 발생합니다.
Go 문법의 특징은?
Go는 컴파일 언어(영어: compiled language)로, 깔끔하고 미니멀한 스타일을 가지고 있습니다. 소스 코드는 항상 package
선언으로 시작합니다. import는 블록으로 묶습니다. 함수는 func
키워드로 선언하고 중괄호 {}
로 범위를 지정합니다. 들여쓰기는 필수이며 go fmt
로 자동 정렬됩니다. 세미콜론은 쓰지 않지만 컴파일러가 줄 끝에 자동으로 삽입합니다.
package main
import "fmt"
func main() {
fmt.Println("Hello, Go")
}
주의해야 할 기호들
Go에서는 중괄호 {}
, 소괄호 ()
, 대괄호 []
, 큰따옴표 "
, 백틱 `
, 단축 선언 연산자 :=
, 채널 연산자 <-
를 자주 사용합니다.
변수와 선언
Go에서는 var
선언과 :=
단축 선언을 구분합니다. :=
는 두 기호를 조합하며 자주 사용됩니다.
var count int = 10
message := "typed correctly"
제어 구조
Go에는 if
, for
, switch
가 있으며 while
은 없습니다. 비교 연산자 ==
, !=
, <
, >
와 증감 연산자 ++
는 정확히 입력해야 합니다.
for i := 0; i < 5; i++ {
if i%2 == 0 {
fmt.Println("even")
}
}
함수와 다중 반환값
함수는 여러 값을 반환할 수 있습니다. 따라서 반환 리스트와 할당문에 쉼표가 자주 등장합니다.
func divide(a, b int) (int, error) {
if b == 0 {
return 0, fmt.Errorf("division by zero")
}
return a/b, nil
}
result, err := divide(10, 2)
슬라이스, 맵, 리터럴
대괄호 []
와 중괄호 {}
는 슬라이스와 맵에서 많이 사용됩니다. 맵에서는 키와 값을 구분하기 위해 콜론 :
을 사용합니다.
nums := []int{1, 2, 3}
scores := map[string]int{"alice": 5, "bob": 7}
구조체와 메서드
struct
는 데이터를 그룹화합니다. 메서드는 리시버를 사용하며 점 .
으로 호출됩니다.
type User struct {
Name string
}
func (u User) Greet() string {
return "Hello " + u.Name
}
u := User{Name: "A"}
fmt.Println(u.Greet())
인터페이스
Go의 인터페이스는 implements
와 같은 키워드 없이 암묵적으로 만족됩니다.
type Stringer interface {
String() string
}
동시성 및 채널
채널 연산자 <-
는 Go의 중요한 특징입니다. ch <- value
는 전송, value := <-ch
는 수신을 의미합니다.
ch := make(chan int)
go func() { ch <- 42 }()
value := <-ch
문자열과 룬
문자열에는 큰따옴표, raw string에는 백틱, rune에는 작은따옴표를 사용합니다.
text := "normal string"
raw := `path\to\file`
r := 'a'
들여쓰기와 포맷
Go는 일관된 스타일을 강제합니다. 괄호와 줄바꿈을 올바르게 입력해야 합니다. 흔한 오류는 return
바로 뒤에 줄바꿈을 넣는 것입니다.
요약
Go에서 중요한 기호는 중괄호 {}
, 소괄호 ()
, 대괄호 []
, 단축 선언 :=
, 채널 연산자 <-
입니다. 이를 익숙하게 입력하는 것이 빠르고 정확한 코딩의 열쇠입니다.