for
가 필요하다. Go에는 while
, do
, until
같은 키워드가 없고 오직 for
만 사용할 수 있다. 그건 좋은 일이다../repeat_test.go:6:14: undefined: Repeat
repeat_test.go:10: expected 'aaaaa' but got ''
for
문법은 대체로 C와 비슷한 언어들이 따르는 매우 평범한 형태이다.{ }
가 항상 필요하다. 행에서 무슨 일이 발생하고 있는지 궁금할 것이다.:=
를 사용해 왔다. 그러나 :=
는 두 단계를 간단하게 줄여 준다. 여기에서는 string
변수만 선언하고 있다. 그래서 명시적 버전이다. var
를 사용해서 함수를 선언할 수도 있다는 걸 나중에 보게 될 것이다.+=
할당 연산자를 도입할 차례이다.+=
은 "추가와 할당 연산자" 라고 불리고, 오른쪽 피연산자를 왼쪽의 피연산자에 더하고 결과를 왼쪽 피연산자에 할당한다. 정수 형태의 타입들에서 동작을 한다.testing.B
는 애매하게 이름 지어진 b.N
에 접근할 수 있게 한다.b.N
번 실행되고 얼마나 오래 걸렸는지 측정한다.go test -bench=.
를 한다 (혹시 Windows Powershell이라면 go test -bench="."
한다)136 ns/op
의 의미는 함수가 (내 컴퓨터에서) 실행하는데 평균 136 나노초가 걸린다는 것이다. 제법 괜찮은 것이다! 테스트를 위해서 10000000번을 실행했다.ExampleRepeat
를 작성한다for
에 대한 배움