Hello Go World
1) Go μμ¬
- 2009λ λ°νλ μ€ν μμ€ νλ‘κ·Έλλ° μΈμ΄. ννμ΄μ§ : golang.org
- μ¨λΌμΈ GoμΈμ΄ μ»΄νμΌλ¬ : play.golang.org
2) Go μΈμ΄ νΉμ§
κ°λ | μλ€/μλ€ | μ€λͺ |
ν΄λμ€ | μλ€ | ν΄λμ€λ μμ§λ§, 맀μλλ₯Ό κ°μ§λ ꡬ쑰체 μ§μ |
μμ | μλ€ | μμμ μ§μνμ§ μμ |
λ©μλ | μλ€ | κ΅¬μ‘°μ²΄κ° λ©μλ κ°μ§ μ μμ |
μΈν°νμ΄μ€ | μλ€ | μμμ΄ μμ§λ§ μΈν°νμ΄μ€λ μμ |
μ΅λͺ ν¨μ | μλ€ | ν¨μ 리ν°λ΄μ΄λΌλ μ΄λ¦μΌλ‘ μ κ³΅ν¨ |
κ°λΉμ§ 컬λ ν° | μλ€ | κ³ μ±λ₯ κ°λΉμ§ 컬λ ν°λ₯Ό μ 곡 |
ν¬μΈν° | μλ€ | λ©λͺ¨λ¦¬ μ£Όμλ₯Ό κ°λ¦¬ν€λ ν¬μΈν°κ° μμ |
μ λ€λ¦ νλ‘κ·Έλλ° | μλ€ | μ λ€λ¦ νλ‘κ·Έλλ°μ μ§μνμ§ μμ |
λ€μ μ€νμ΄μ€ | μλ€ | λ€μμ€νμ΄μ€λ₯Ό μ 곡νμ§ μμ. λͺ¨λ μ½λλ ν¨ν€μ§ λ¨μλ‘ λΆλ¦¬λ¨ |
3) μ½λ μ€νλκΈ°κΉμ§
1> ν΄λ μμ±
GoμΈμ΄μμ λͺ¨λ μ½λλ ν¨ν€μ§ λ¨μλ‘ μμ±λ¨. κ°μ ν΄λμ μμΉν .
goνμΌμ λͺ¨λ κ°μ ν¨ν€μ§μ ν¬ν¨λκ³ , ν¨ν€μ§ λͺ μΌλ‘ ν΄λλͺ μ μ¬μ©ν¨. -> ν΄λ λ€λ₯΄λ©΄ ν¨ν€μ§λ λ€λ¦
goproject/hello/extra
helloν΄λμ λ .go νμΌμ hello ν¨ν€μ§, extra ν΄λμ λ .goνμΌμ extra ν¨ν€μ§
2> .go νμΌ μμ± λ° μμ±
Goλ¬Έλ²μΌλ‘ μ½λ λ§λ¦. νμ₯μλ .go
3> Go λͺ¨λ μμ±
go mod init goproject/hello
go mod init λ€μ λͺ¨λ μ΄λ¦ μ μ΄μ£Όμ΄ go λͺ¨λ μμ±
μμ±νλ©΄ go.mod νμΌμ΄ μμ±λ¨. (λͺ¨λλͺ , goλ²μ , νμ ν¨ν€μ§ λͺ©λ‘ μ 보)
4> λΉλ
go build λͺ λ Ή -> Goμ½λλ₯Ό κΈ°κ³μ΄λ‘ λ³ννμ¬ μ€ννμΌ λ§λ¦.
5> μ€ν
4) μ½λ μ€λͺ
package main //β
import "fmt" //β
func main() { //β
fmt.Println("Hello World!") //β
}
- β : ν¨ν€μ§(=μ½λ λ¬Άμ) μ μΈ, GoμΈμ΄λ ν¨ν€μ§ μ μΈμΌλ‘ μμλμ΄μΌν¨.
main ν¨ν€μ§(νλ‘κ·Έλ¨ μμμ ν¬ν¨)μ μν μ½λμμ μ»΄νμΌλ¬μκ² μλ €μ€. - β : fmt ν¨ν€μ§(λ΄μ₯)λ₯Ό κ°μ Έμ΄. νμ€ μ μΆλ ₯ ν¨ν€μ§
- β : main()ν¨μλ₯Ό μ μΈ.
- β : νμ€ μΆλ ₯μΌλ‘ λ¬Έμμ΄μ μΆλ ₯νλ ν¨μ
5) μ°μ΅λ¬Έμ
# 2λ²
μ€λ₯λ main λκ°μ¬μ μκΈ°λ μ€λ₯μ¬μ μ°μ΅λ¬Έμ μ΄λ―λ‘ μΌλ¨ 무μνλ€.
λ³μ
- λ³μμ μμ± : μ΄λ¦, κ°, νμ , μ£Όμ
- λ³μμ μ μΈ = λ©λͺ¨λ¦¬ ν λΉ
- νμ λ³ν : GoμΈμ΄λ μλ λ³ν μ§μνμ§ μμΌλ―λ‘ μ°μ°μ΄λ λμ μμ νμ λ³νμ ν΄μ€μΌν¨
- κΈ°λ³Έ λ³μ μ μΈ λ°©μ
// λ³μ 1
package main
import "fmt"
func main() {
//κΈ°λ³Έ μ΄κΈ°ν
//μ μνμ
: 0 , μ€μ(μμμ ):0.0, λ¬Έμμ΄:"", Boolean:true, false
//λ³μλͺ
: μ«μ 첫κΈμx, λμλ¬Έμ ꡬλΆo, λ¬Έμ μ«μ λ°μ€ νΉμκΈ°νΈ μ¬μ© κ°λ₯
//λ³μ λ° μμ : ν¨μ λ΄μΈ μ¬μ© κ°λ₯
var a int
var b string
var c, d, e int
var f, g, h int = 1, 2, 3
var i float32 = 11.4
var j string = "Hi Golang!"
var k = 4.74 //μ μΈ λμ μ΄κΈ°ν
var l = "Hi! Seoul!"
var m = true
a = 4
b = "Hello Go!"
e = 77
fmt.Println("a : ", a)
fmt.Println("b : ", b)
fmt.Println("c : ", c)
fmt.Println("d : ", d)
fmt.Println("e : ", e)
fmt.Println("f : ", f)
fmt.Println("g : ", g)
fmt.Println("h : ", h)
fmt.Println("i : ", i)
fmt.Println("j : ", j)
fmt.Println("k : ", k)
fmt.Println("l : ", l)
fmt.Println("m : ", m)
}
- κΈ°λ³Έ μ΄κΈ°ν - μ μνμ : 0, μ€μ(μμμ ) : 0.0, λ¬Έμμ΄ : " ", Boolean : true, false
- λ³μλͺ : μ«μ 첫κΈμx, λμλ¬Έμ ꡬλΆo, λ¬Έμ μ«μ λ°μ€ νΉμκΈ°νΈ μ¬μ© κ°λ₯
- λ³μ λ° μμ : ν¨μ λ΄μΈ μ¬μ© κ°λ₯
- λ³μ μ¬λ¬κ° μ μΈβ
package main
import "fmt"
func main() {
//μ¬λ¬ κ° μ μΈ β
var (
name string = "machine"
height int32
weight float32
isRunning bool
)
height = 250
weight = 350.56
isRunning = true
fmt.Println("name: ", name, "height : ", height, "weight : ", weight, "isRunning : ", isRunning)
}
- 짧μ λ³μ μ μΈ β β λ§μ΄μ°μβ β
package main
import "fmt"
func main() {
//짧μ μ μΈ
//ν¨μ μμμλ§ μ¬μ©(μ μx), μ μΈ ν ν λΉ μμΈ λ°μ β
β
β
//μ£Όλ‘ μ νλ λ²μμ ν¨μ λ΄μμ μ¬μ©ν κ²½μ° μ½λ κ°λ
μ±μ λμΌ μ μλ€. -> μΆμ²
shortVar1 := 3 //exμ€λΌν΄μ νλ‘μμ λ§λ€ λ
shortVar2 := "Test"
shortVar3 := false
//shortVar3 := true -> μμΈ λ°μ
fmt.Println("shortVar1 : ", shortVar1, "shortVar2 : ", shortVar2, "shortVar3 : ", shortVar3)
//Example
if i := 10; i < 11 { //ifλ¬Έ μμμλ§ iμ¬μ© ν λ°μμ μλ©Έ
fmt.Println("Short Variable Test Success!")
}
}
- ν¨μ μμμλ§ μ¬μ© κ°λ₯ν¨.(μ μx)
- μ μΈ ν λ€μ ν λΉ -> μ€λ₯ λ°μ β β
- μ£Όλ‘ μ νλ λ²μμ ν¨μ λ΄μμ μ¬μ©ν κ²½μ° μ½λ κ°λ μ±μ λμΌ μ μλ€.(ex.ifλ¬Έ) -> μΆμ²!
μμ
- μμ κΈ°λ³Έ μ¬μ©λ²
// μμ1
package main
import "fmt"
func main() {
//μμ
//const μ¬μ© μ΄κΈ°ν, ν λ² μ μΈν κ° λ³κ²½ κΈμ§, κ³ μ λ κ° κ΄λ¦¬μ©
//μ μΈκ³Ό λμμ μ΄κΈ°νν΄μ€μΌν¨
const a string = "Test1"
const b = "Test2"
const c int32 = 10 * 10
//const d = getHeight() -> μμλ κ° λͺ»λ°μμ΄
const e = 35.6
const f = false
/*
μλ¬ λ°μ
const g string
g = "Test3"
*/
fmt.Println("a : ", a, "b : ", b, "c: ", c, "e : ", e, "f : ", f)
}
- μμ constλ μ μΈκ³Ό λμμ μ΄κΈ°ν ν΄μ€μΌν¨
- ν λ² μ μΈν κ° λ³κ²½ κΈμ§, κ³ μ λ κ° κ΄λ¦¬μ©
- μ¬λ¬ μμ μ μΈ
// μμ2
package main
import "fmt"
func main() {
const a, b int = 10, 99
const c, d, e = true, 0.84, "test" //κ°κ° λ€λ₯Έ μλ£ν
const (
//μ¬λ¬κ° μ μΈ
x, y int16 = 50, 90
i, k = "Data", 7776
)
fmt.Println(a, b, c, d, e)
fmt.Println(x, y, i, k)
}
- const()λ‘ λ¬Άμ΄μ μμ μ¬λ¬κ° μ μΈ κ°λ₯.
- κ°κ° λ€λ₯Έ μλ£ν νλ²μ μ μΈ κ°λ₯
μ΄κ±°ν
- iota
// μ΄κ±°ν
package main
import "fmt"
func main() {
//μ΄κ±°ν
//μμλ₯Ό μ¬μ©νλ μΌμ ν κ·μΉμ λ°λΌ μ«μλ₯Ό κ³μ° λ° μ¦κ°μν€λ λ¬Άμ
const (
Jan = iota + 1
Feb
Mar
Apr
May
Jun
)
fmt.Println(Jan)
fmt.Println(Feb)
fmt.Println(Mar)
fmt.Println(Apr)
fmt.Println(May)
fmt.Println(Jun)
}
// μ΄κ±°ν
package main
import "fmt"
func main() {
const (
_ = iota + 0.75*2
DEFAULT
SILVER
GOLD
PLATINUM
)
fmt.Println("D : ", DEFAULT)
fmt.Println("S : ", SILVER)
fmt.Println("G : ", GOLD)
fmt.Println("P : ", PLATINUM)
}
- iotaλ 0λΆν° 1μ© μ°¨λ‘λ‘ μ¦κ°νλ©° κ°μ΄ μ΄κΈ°νλ¨.
- μλ΅ κ°λ₯
'GOμΈμ΄' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[Go] ν¨ν€μ§ κΈ°μ΄, λ°μ΄ν° νμ (0) | 2023.01.20 |
---|---|
[GO] μ μ΄λ¬Έ λ° λ°λ³΅λ¬Έ (0) | 2023.01.16 |
[GO] κ°λ° νκ²½ ꡬμΆ, μ»΄ν¨ν° μ리 (1) | 2023.01.03 |