안녕하세요. 개발자 모도리입니다.
The Go Programming Language 라는 책으로 Go를 공부하고 있으며, 해당 책의 내용을 요약 정리해서 올리려고 합니다. 저는 번역본을 구매해서 공부하고 있습니다.
예제코드 라고 나오는 것들은 https://github.com/modolee/tgpl.git 에서 다운 받으실 수 있습니다.
지난 게시물
- [Go] Mac에서 Atom으로 Go 개발 환경 구축하기
- [The Go Programming Language] 1장 튜토리얼 - 1.1 Hello, World
- [The Go Programming Language] 2장 프로그램 구조 - 2.1 이름
2장 프로그램 구조
2.2 선언
상수, 변수, 함수 선언
// Boiling은 물의 끓는점을 출력합니다.
package main
import "fmt"
const boilingF = 212.0
func main() {
var f = boilingF
var c = (f - 32) * 5 / 9
fmt.Printf("boiling point = %gºF or %gºC\n", f, c)
// 출력:
// boiling pint = 212 ºF or 100ºC
}
예제코드 [ch2/boiling.go]
실행결과
$ go run ch2/boiling.go
boiling point = 212ºF or 100ºC
- 상수, 변수 선언
- 상수 boilingF는 패키지 수준 선언
- 변수 f, c는 main 함수의 지역 변수
- 각 패키지 수준 개체의 이름은 선언을 포함하는 소스 파일 뿐만 아니라 패키지 내의 모든 파일에서 볼 수 있습니다.
- 지역 선언은 선언된 함수 내에서만 볼 수 있으며, 그 중 일부에서만 볼 수 있는 경우도 있습니다.
- 함수 선언
- 함수 선언 : 이름, 파라미터 목록, 결과 목록(optional), 여러 구문으로 함수의 작업을 정의하는 함수 본문
- 함수가 결과를 반환하지 않을 때는 결과 목록을 생략합니다.
- 함수는 첫번째 구문에서 시작해서 return문을 만나거나 결과가 없는 경우 함수의 끝에 도달할 때 까지 실행됩니다.
함수 선언 - 캡슐화
// Ftoc는 화씨-섭씨 변환을 두 번 출력합니다.
package main
import "fmt"
func main() {
const freezingF, boilingF = 32.0, 212.0
fmt.Printf("%gºF = %gºC\n", freezingF, fToC(freezingF)) // "32ºF = 0ºC"
fmt.Printf("%gºF = %gºC\n", boilingF, fToC(boilingF)) // "212ºF = 100ºC"
}
func fToC(f float64) float64 {
return (f - 32) * 5 / 9
}
예제코드 [ch2/ftoc.go]
실행결과
$ go run ch2/ftoc.go
32ºF = 0ºC
212ºF = 100ºC
- 함수를 한번 정의하면 여러 곳에서 호출하여 사용할 수 있습니다.