문제 1) 두 개의 정수를 입력받아 '포인터'를 사용하여 합과 차를 계산하시오.
package main
import (
"fmt"
)
func main() {
scanA := 0
scanB := 0
//두개의 정수를 입력받아 포인터를 사용하여 합과 차를 계산하는 연습문제
fmt.Print("두 개의 정수를 입력 해주세요.")
fmt.Scanln(&scanA, &scanB)
fmt.Println("입력받은 두 정수의 주솟값", &scanA, &scanB)
sumNDiff(scanA, scanB)
}
func sumNDiff(_a, _b int) (_sum, _diff int) {
fmt.Println("합: ", *&_a+*&_b)
fmt.Println("차: ", *&_a-*&_b)
fmt.Println("함수 내 변수의 주솟값: ", &_a, &_b)
return _sum, _diff
}
문제 2) 정수 배열A를 다른 B배열에 복사하는 함수를 작성하라
package main
import (
"fmt"
)
func main() {
//Go에서는 가변배열을 만들때 slice인 make를 사용해서 만든다.
//aArray := make([]int, 5, 10)
//선언과 동시에 초기화 하는법
aArray := []int{1, 2, 3, 4, 5}
//슬라이드로 선언 한 변수만 사용 가능한 함수
aArray = append(aArray, 6, 7, 8, 9, 10)
//정수 배열 A를 다른 B배열에 복사하는 함수를 작성하라
fmt.Println("A정수 배열을 B에 복사하겠습니다...")
fmt.Println("복사한 새로운 배열: ", copyArray(aArray))
}
func copyArray(_a []int) (_b []int) {
_b = make([]int, 5, 10)
fmt.Println("복사하는 중...")
_b = *&_a
return _b
}