일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 |
- 파이썬
- gradle
- codewars
- 동적프로그래밍
- zookeeper
- 문제풀이
- 코드워
- Python
- dynamic programming
- programmers
- HBase
- 리눅스
- OOM
- Java
- boj
- 알고리즘
- golang
- 프로그래머스
- go
- redis
- Go언어
- leetcode
- 튜토리얼
- DP
- scala
- 자바
- 스칼라
- 주키퍼
- Linux
- docker
- Today
- Total
목록Go언어 (6)
파이문
Go에서 언더스코어(underscore)의 의미 파이썬에서 언더스코어가 사용하지 않을 변수를 의미하는 것 처럼 Go역시 같다. 다만 파이썬에선 강제가 아니지만. Go는 사용하지 않은 변수, 패키지 등에 대해선 런타임시 에러를 뱉기 때문에, 만약 그러한 변수, 패키지가 있다면 언더스코어로 지정해야 한다. 패키지는 별칭으로 지으면 된다.
Go 슬라이스, 배열 Go에서 슬라이스는 레퍼런스이고 배열은 복사이다. 그러므로 슬라이스를 복사하고 싶을 땐 대입이 아니라 copy 모듈을 사용해야 한다.
Go에서 가변인자 사용하기Go에서 가변인자를 사용하려면 ...을 사용하면 된다.func sum(n ...int) int { total := 0 for _, value := range n { total += value } return total } func main() { r := sum(1, 2, 3, 4, 5) fmt.Print(r) } 가변인자는 슬라이스 타입이다.
Go switch 문(Go switch example) Go switch 문은 break를 사용하지 않습니다. (저는 파이썬 밖에 하지 않아서 switch 문에 대해서 잘 몰랐는데요. 알고보니 java에서는 매 케이스마다 break를 해주어야 하더군요.) i := 2 fmt.Print("Write ", i, " as ") switch i { case 1: fmt.Println("one") case 2: fmt.Println("two") case 3: fmt.Println("three") }물론 break를 명시하여도 에러가 나진 않습니다 Go에는 다른 언어와는 다른 생소한 키워드 fallthrough가 있는데요. 자바의 경우 break 문을 실행하지 않으면 모든 케이스에 대하여 검사합니다. 하지만 앞서 ..
Go 반복문(Go for loop example) Go 언어에는 반복문이 for 문 밖에 없습니다. for 반복문은 다른 언어와 비슷한 문법을 갖고 있고, 소괄호는 없고 중괄호는 필수라는 점만이 다릅니다.package main import "fmt" func main() { sum := 0 for i := 0; i < 10; i++ { sum += i } fmt.Println(sum) } 무한 루프인 경우 for 반복문 안을 비워두고 사용하면 됩니다.for { } C언어에서 while문을 사용하는 것 처럼 구현할 수도 있습니다.sum = 1 for sum < 1000 { sum += sum } Go 조건문(Go if statement example) for 문과 비슷하게 소괄호는 필요 없고, 중괄호는 반..
Go 변수(Go variable) Go 에서는 변수를 지정할 때 var 변수명 리턴형 순으로 선언합니다. 열거 되는 변수명이 같은 타입이면 리턴형을 하나만 써줄 수도 있습니다. 바로 아래처럼 말이죠.var x, y, z int = 3, 2, 1 초기화를 하는 경우 값을 생략할 수도 있습니다. 리턴형을 생략하더라도 Go는 초기화 하고자 하는 타입에 따라 값을 지정할 수 있습니다. (동적 타입 지원) var c, python, java = true, false, "no!"Go에서는 := 을 사용하여 변수 명을 지정할 수도 있습니다. 함수 내에서 := 을 사용하면 var 과 명시적인 타입(e.g. int, bool) 을 생략할 수 있습니다. (그러나 함수 밖에서는 := 선언을 사용할 수 없습니다.) c, py..