5. 컴파일러 의존성
의존성 : a.go->b.go->c.go
빌드순서 : c.go->b.go->a.go
Go의 의존성 : a.go를 빌드하는경우 b.go만 참
조
기본헤더파일 필요한 처리
c stdio.h 9개 파일에서 360라인
c++ iostream 131 / 25,326
object c carbon/carbon.h 689, 124,730
6. 목적은..?
- 개발 초기부터 시스템 개발 분야에 특화된 언
어
- 웹서버, 웹 브라우저, 웹로봇, 검색엔진, 컴파일
러
- 문법은 C의 모습으로
하지만 python의 쉬운 문법도 내꺼
자바의 GC기능도 내꺼
7. 각 개발언어와 기능지원 여부
Go C++ 자바
class x o o
overloading o o o
GC(Garbage
Collector)
o x o
Pointer x o x
Pointer연산 o o x
import / package o include / namespace o
interface o template o
nil o null null
implicit type
conversion
x o o
13. Multiple results
package main
import "fmt"
func swap(x, y string) (string, string) {
return y, x
}
func main() {
a, b := swap("hello", "world")
fmt.Println(a, b)
}
14. variables with initializers
package main
import "fmt"
var x, y, z int = 1, 2, 3
var c, python, java = true, false, "no!"
func main() {
fmt.Println(x, y, z, c, python, java)
}
15. variables with initializers
package main
import "fmt"
var x, y, z int = 1, 2, 3 //variable x is integer
var c, python, java = true, false, "no!"
func main() {
fmt.Println(x, y, z, c, python, java)
}