create account

[The Go Programming Language] 2장 프로그램 구조 - 2.2 선언 by modolee

View this thread on: hive.blogpeakd.comecency.com
· @modolee · (edited)
$0.11
[The Go Programming Language] 2장 프로그램 구조 - 2.2 선언
![modolee_logo](https://steemitimages.com/DQmWQDjyP5d1RNW3mkCWUkDQ6yh3uDJFUZErPpaKBwKi4gM/iron_modolee.png)
안녕하세요. 개발자 모도리입니다.
**[The Go Programming Language](https://www.gopl.io/)** 라는 책으로 Go를 공부하고 있으며, 해당 책의 내용을 요약 정리해서 올리려고 합니다. 저는 [번역본](http://www.aladin.co.kr/shop/wproduct.aspx?ItemId=76703559)을 구매해서 공부하고 있습니다.
예제코드 라고 나오는 것들은 https://github.com/modolee/tgpl.git 에서 다운 받으실 수 있습니다.

### 지난 게시물
* [[Go] Mac에서 Atom으로 Go 개발 환경 구축하기](https://steemit.com/kr-dev/@modolee/go-mac-atom-go)
* [[The Go Programming Language] 1장 튜토리얼 - 1.1 Hello, World](https://steemit.com/kr-dev/@modolee/the-go-programming-language-1-hello-world)
* [[The Go Programming Language] 2장 프로그램 구조 - 2.1 이름](https://steemit.com/kr-dev/@modolee/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

* 함수를 한번 정의하면 여러 곳에서 호출하여 사용할 수 있습니다.

---

### 이어보기
[[The Go Programming Language] 2장 프로그램 구조 - 2.3 변수](https://steemit.com/kr-dev/@modolee/the-go-programming-language-2-2-3)
👍  ,
properties (23)
authormodolee
permlinkthe-go-programming-language-2-2-2
categorykr-dev
json_metadata{"tags":["kr-dev","kr","go","golang","go-programstructure"],"image":["https://steemitimages.com/DQmWQDjyP5d1RNW3mkCWUkDQ6yh3uDJFUZErPpaKBwKi4gM/iron_modolee.png"],"links":["https://www.gopl.io/","http://www.aladin.co.kr/shop/wproduct.aspx?ItemId=76703559","https://github.com/modolee/tgpl.git","https://steemit.com/kr-dev/@modolee/go-mac-atom-go","https://steemit.com/kr-dev/@modolee/the-go-programming-language-1-hello-world","https://steemit.com/kr-dev/@modolee/the-go-programming-language-2-2-1","https://steemit.com/kr-dev/@modolee/the-go-programming-language-2-2-3"],"app":"steemit/0.1","format":"markdown"}
created2018-10-02 14:01:30
last_update2018-10-06 09:54:12
depth0
children0
last_payout2018-10-09 14:01:30
cashout_time1969-12-31 23:59:59
total_payout_value0.084 HBD
curator_payout_value0.026 HBD
pending_payout_value0.000 HBD
promoted0.000 HBD
body_length2,129
author_reputation285,192,678,959
root_title"[The Go Programming Language] 2장 프로그램 구조 - 2.2 선언"
beneficiaries[]
max_accepted_payout1,000,000.000 HBD
percent_hbd10,000
post_id72,482,214
net_rshares58,580,286,920
author_curate_reward""
vote details (2)