본문 바로가기

컴퓨터 공학/Go2

덕 타이핑 예시 package main import "fmt" // Duck 오리 구조체 type Duck struct { } func (d Duck) quack() { fmt.Println("꽥~!") } func (d Duck) feathers() { fmt.Println("오리는 흰색과 회색 털을 가지고 있습니다.") } // Person 사람 구조체 type Person struct { } func (p Person) quack() { fmt.Println("사람은 오리 흉내를 냅니다. 꽥~!") } func (p Person) feathers() { fmt.Println("사람은 땅에서 깃털을 주워서 보여줍니다.") } // Quacker 꽥 인터페이스 type Quacker interface { quack().. 2020. 2. 1.
Go 언어의 활용범위 Go 언어는 웹 브라우저, 서버, 데이터베이스 등 규모가 크고 복잡한 애플리케이션을 개발하는 데 적합하다. 이러한 분야는 이제 메모리 관리에 시간을 쏟기보다는 로직에 집중하는 것이 중요해졌다. 따라서 메모리를 일일이 신경쓰지 않아도 되는 Go 언어로 작성하면 생산성을 높일 수 있다. 하지만, 그림과 같이 Go 언어는 메모리 관리를 철저히 해야 하는 시스템 라이브러리 개발에는 적합하지 않다. 그리고 메모리 장치에 직접 접근해야 하는 운영체제와 장치 드라이버도 개발하기 힘들다.요약하자면 Go 언어는 메모리 관리가 다소 느슨해도 되고, 규모가 크고 복잡하며 유지보수가 빈번한 곳에서 편리하고 사용할 수 있다. 그리고 다양한 네트워크 라이브러리 (패키지)를 제공하므로 인터넷 프로그래밍에 유용하다.출처: [가장 빨.. 2020. 1. 29.