"Go 메소드"의 두 판 사이의 차이

잔글 (봇: 자동으로 텍스트 교체 (-</source> +</syntaxhighlight>, -<source +<syntaxhighlight ))
 
(같은 사용자의 중간 판 4개는 보이지 않습니다)
3번째 줄: 3번째 줄:


<syntaxhighlight lang='go' run>
<syntaxhighlight lang='go' run>
// https://tour.golang.org/methods/1
package main
package main
import (
import (
"fmt"
"fmt"
"math"
"math"
)
)
type Vertex struct {
type Vertex struct {
X, Y float64
X, Y float64
}
}
func (v Vertex) Abs() float64 {
func (v Vertex) Abs() float64 {
return math.Sqrt(v.X*v.X + v.Y*v.Y)
return math.Sqrt(v.X*v.X + v.Y*v.Y)
}
}
func main() {
func main() {
v := Vertex{3, 4}
v := Vertex{3, 4}
fmt.Println(v.Abs())
fmt.Println(v.Abs())
}
</syntaxhighlight>
<syntaxhighlight lang='go' run>
// https://gobyexample.com/methods
package main
import "fmt"
type rect struct {
    width, height int
}
func (r *rect) area() int {
    return r.width * r.height
}
func (r rect) perim() int {
    return 2*r.width + 2*r.height
}
func main() {
    r := rect{width: 10, height: 5}
    fmt.Println("area: ", r.area())
    fmt.Println("perim:", r.perim())
    rp := &r
    fmt.Println("area: ", rp.area())
    fmt.Println("perim:", rp.perim())
}
}
</syntaxhighlight>
</syntaxhighlight>
27번째 줄: 47번째 줄:
* [[메소드]]
* [[메소드]]


==참고==
[[분류: Go OOP]]
* https://tour.golang.org/methods/1
 
[[분류: Go]]

2023년 5월 18일 (목) 09:53 기준 최신판

1 개요[ | ]

Go 메소드
// https://tour.golang.org/methods/1
package main
import (
	"fmt"
	"math"
)
type Vertex struct {
	X, Y float64
}
func (v Vertex) Abs() float64 {
	return math.Sqrt(v.X*v.X + v.Y*v.Y)
}
func main() {
	v := Vertex{3, 4}
	fmt.Println(v.Abs())
}
// https://gobyexample.com/methods
package main
import "fmt"
type rect struct {
    width, height int
}
func (r *rect) area() int {
    return r.width * r.height
}
func (r rect) perim() int {
    return 2*r.width + 2*r.height
}
func main() {
    r := rect{width: 10, height: 5}
    fmt.Println("area: ", r.area())
    fmt.Println("perim:", r.perim())

    rp := &r
    fmt.Println("area: ", rp.area())
    fmt.Println("perim:", rp.perim())
}

2 같이 보기[ | ]

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}