분류 전체보기24 go언어는 항상 에러를 처리해줘야 좋음! https://guswns6769.tistory.com/14 위에 paintNeeded함수로 예를 들어, 함수에 잘못된 인자가 전달되면 에러 값을 반환받아 에러 내용을 출력해줘야함. 함수가 에러 값을 반환하는 경우에는 보통 다른 주요 결괏값이 함께 반환됨. 그러나 에러 값과 함께 반환되는 값을 신뢰할 수 없기 때문에 무시해야 한다. 함수를 호출했을 때 에러 값이 반환되면 에러 값이 nil인지 아닌지 확인하는 일은 매우 중요하다. nil 이외의 값이 반환된다면 처리해야 할 에러가 있음을 의미함. func main() { amount, err := paintNeeded(4.2, -3.0) if err != nil { fmt.Println(err) // 에러를 출력함, 종료는 아님. } else { fmt.P.. 2023. 10. 29. paintNeeded함수에서 다중 반환 값 사용하기 에러 값은 문제가 없는 경우 nil로 설정되며, 에러가 발생한 경우에는 해당 에러값으로 설정됨. paintNeeded라는 함수를 만들어 예를 들건데, 먼저 float64와 error 타입으로 두 개의 반환 타입을 선언한다. 그 다음 함수 블록 내에서 가장 먼저 해야 할 일은 매개변수의 유효성을 검증하는 일이다. width, height 중 하나라도 0보다 작은 경우네는 페인트의 양으로 0이라는 값과 함께 fmt.Errorf를 사용해 생성한 에러 값을 반환한다. 함수의 시작 부분에서 매개변수의 유효성을 검증하고, 유효하지 않은 값들이라 판단되면 return을 사용해 에러 반환 후 함수를 빠져나온다. package main import "fmt" func paintNeeded(width float64, he.. 2023. 10. 29. 함수 반환 함수 반환 값 함수는 항상 지정된 타입의 값을 반환함. 반환 값을 갖는 함수를 선언하기 위해선 매개변수 선언부 뒤에 반환 값의 타입을 선언하면 됨. return 키워드에 값을 반환하기 위해 매개변수 괄호 오른쪽에 변수 타입 지정해야 함. func double(number float64) float64 { // 변수 타입 지정 return number * 2 } func main() { dozen := double(6.0) // 반환 값을 변수에 할당 fmt.Println(dozen) fmt.Println(double(4.2)) // 반환 값을 다른 함수에 전달. }return 문이 실행되는 함수는 이후의 코드 실행을 중단하고 즉시 함수를 빠져나와야 한다면? if문을 사용하면 특정 조건에서 다른 코드를 실.. 2023. 10. 29. 함수 선언 함수 선언하기 선언은 func 키워드, 함수 이름, 괄호( )로 시작된다. 함수를 선언하면 함수 이름 뒤에 괄호로 붙여 패키지의 다른 위치에서 호출할 수 있다. 함수를 호출하면 함수 블록 내의 코드가 실행된다. func sayHi() { fmt.Println("Hi") } // func : 함수 키워드 // sayHi : 함수명 // ( ) : 매개변수 // { : 함수 블록의 시작 // fmt.Println("Hi") : 함수 블록 바디 func main() { sayHi() // 함수 호출법 } 함수 매개변수 선언하기 함수에 인자를 전달하기 위해선 하나 이상의 매개변수를 선언해야 함. func repeatLine(line string, time int) { for i := 0; i < times; i.. 2023. 10. 29. 형식 PrintF와 Sprintf를 사용한 출력 형식 지정 fmt.Printf("About one-third : %0.2f\n", 1.0 / 3.0) --> 0.33 이런 식으로도 가능 resultString := fmt.Sprintf("About one-third : %0.2f\n", 1.0 / 3.0) fmt.Printf(resultString)Printf를 제대로 사용하기 위해 알아둬야 할 점 형식 동사(위 문자열에서 동사는 %0.2f) 값 너비(동사 사이에 있는 0.2가 너비) 형식 동사 출력값의 형식을 지정할 때 사용하는 문자열 fmt,Printf("The %s cost %d cent each.\n". "gumball", 23) fmt.Printf("That will be $%f please.\n",.. 2023. 10. 25. 이전 1 2 3 4 5 다음