일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- window
- mutex
- 책
- Golang
- bitcoin
- Sync
- channel
- File
- Close
- Linux
- json
- package
- 영화
- API
- FOR
- tcp
- Python
- windows
- go언어
- go
- Callback
- http
- GO 언어
- 리뷰
- c++
- install
- range
- write
- JavaScript
- C
- Today
- Total
목록배열 (3)
Code Habit
for 반복문에서 range 키워드를 이용하여 배열/슬라이스 요소를 순회할 수 있다. func main() { var t []int = [5]int{1, 2, 3, 4, 5} for i, v = range t {// i : index( 0 ~ 4 ), v : value( 1 ~ 5 ) fmt.Println(i, v) } } for range 구문을 사용하여 채널에서 데이터를 계속 기다릴 수 있다. func main() { var wg sync.WaitGroup wg.Add(1) ch := make(chan int) go func() { defer wg.Done() for n := range ch { // ch에 값이 들어올때까지 대기, 채널을 닫으면 (close(ch)) for 구문을 빠져나온다. fmt..
배열을 매개변수로 전달할때 포인터 변수를 사용하여 (시작)주소값을 전달하게 되는데 이 때 우리는 배열의 크기를 같이 전달해야 한다. 원래 배열의 크기는 sizeof()함수로 구할 수 있으나 매개변수로 전달될 때 포인터 변수로 받기 때문에 이를 sizeof() 함수로 처리 할 시 포인터 변수의 크기가 구해지기 때문이다. 즉 매개변수로 배열을 전달할 때는 꼭 크기도 같이 전달하자 ! void func( int* p, int nSize ); void main() { int n[100] = {0, }; printf( "%d\n", sizeof(n) ); // 400 : 4(int) * 100 func(n, 100); // 배열 n 과 사이즈 전달} void func( int* p, int nSize ) // i..
Go 언어에서 배열은 다음과 같이 사용한다. var 배열명 [길이]자료형 var a [5]int a[2] = 7 fmt.Println(a) // [0 0 7 0 0] 배열을 생성하면서 값을 초기화 하려면 다음과 같이 쓰면 된다. var a [5]int = [5]int{32, 29, 78, 16, 81} // int 형이며 길이가 5인 배열을 선언하고 초기화 var b = [5]int{32, 29, 78, 16, 81} // 배열을 선언할 때 자료형과 길이 생략 c := [5]int{32, 29, 78, 16, 81} // 배열을 선언할 때 var 키워드, 자료형과 길이 생략 ...을 사용하면 초기화할 값의 개수에 따라 자동으로 크기가 설정된다. c := [...]int{32, 29, 78, 16, 81}..