Methods Go언어에서는 객체지향 프로그래밍언어에서 지원하는 메소드를 구조체와 함께 사용해서 처리할 수 있도록 지원합니다. package main import "fmt" type rect struct { width, height int } func (r *rect) area() int {
Interfaces 인터페이스(Interfaces)는 메소드 집합에 붙여진 이름이라고 생각하시면 됩니다. package main import "fmt" import "math" type geometry interface { // [1] area() float64 perim() float64 } type rect struct { // [2] width, height float64 } type
Errors Go언어에서는 에러또한 명시적으로 사용하는 하나의 형태입니다. 암시적으로 함수의 반환값으로 포함되기도 합니다. Java / Ruby와 같은 언어의 예외와 C언어
Goroutines goroutine은 경량적인 실행 스레드이며, Go언어차원에서 지원하는 병렬실행 기능입니다. package main import "fmt" func f(from string) { for i := 0; i < 3; i++ { fmt.Println(from, ":", i) } } func main() {
Channels 채널(Channels)은 동시 실행중인 두개의 고루틴사이에 연결된 통신용 파이프라고 생각하시면 됩니다. 특정값을 채널을 통해서 동시 실행중인 고루틴간에