함수에서 여러 값을 반환하고 Golang 또는 Go의 변수에 할당하는 방법은 무엇입니까?
12651 단어 go
Golang 또는 Go의 함수에서 여러 값을 반환하려면
return
키워드와 반환해야 하는 값을 ,
기호(쉼표)로 구분하여 사용할 수 있습니다. 마지막으로 함수 매개변수 대괄호 뒤에 있는 대괄호 안에 반환 값의 유형을 선언해야 합니다.TL; DR
package main
import (
"fmt"
"strings"
)
// getFirstAndLastName accepts a full name string
// and returns the first name and last name
// as the first and second return values
func getFirstAndLastName(fullname string) (string, string) {
// splitting the fullname single string by whitespace
names := strings.Split(fullname, " ")
// return the `names` array first element as the first return value
// and the second element as the second return value
return names[0], names[1]
}
func main() {
// call the `getFirstAndLastName` function
// and assign the first return value to the `firstName` variable
// and the second return value to the `lastName` variable
// using the `:=` (assignment) operator
firstName, lastName := getFirstAndLastName("John Doe")
// log it to the console
fmt.Println(firstName, lastName) // John Doe
}
예를 들어 사용자의 전체 이름을 단일 문자열로 받아들이고 이름과 성을 별도의 반환 값으로 반환하는 함수가 있다고 가정해 보겠습니다.
이를 위해 먼저 다음과 같이
getFirstAndLastname
라는 함수를 생성해 보겠습니다.package main
func getFirstAndLastName(fullname string) (string, string) {
// cool code here
}
func main(){
}
참고: Go의 기능에 대한 자세한 내용은 블로그How to create a function in Golang or Go?를 참조하십시오.
이제 함수 본문 내에서 이름과 성을 전체 이름에서 분리하는 논리를 작성할 수 있습니다.
논리는 전체 이름 문자열을 공백으로 나누는 것입니다. 이를 위해
Split()
표준 패키지의 strings
메서드를 사용할 수 있습니다.다음과 같이 할 수 있습니다.
package main
// getFirstAndLastName accepts a full name string
// and returns the first name and last name
// as the first and second return values
func getFirstAndLastName(fullname string) (string, string) {
// splitting the fullname single string by whitespace
names := strings.Split(fullname, " ")
}
func main(){
}
함수 본문에서 코드를 볼 수 있듯이 공백을 만날 때마다 전체 이름 단일 문자열을 분할합니다.
names
변수는 분할 문자열을 포함하는 배열이 될 것이므로 단순성을 위해 names
배열의 첫 번째 값이 이름이고 두 번째 값이 성이라고 가정할 수 있습니다.이제
names
배열의 첫 번째 요소를 첫 번째 반환 값으로 반환하고 두 번째 요소를 ,
기호(쉼표)로 구분하여 두 번째 반환 값으로 반환해 보겠습니다.다음과 같이 할 수 있습니다.
package main
// getFirstAndLastName accepts a full name string
// and returns the first name and last name
// as the first and second return values
func getFirstAndLastName(fullname string) (string, string) {
// splitting the fullname single string by whitespace
names := strings.Split(fullname, " ")
// return the `names` array first element as the first return value
// and the second element as the second return value
return names[0], names[1]
}
func main(){
}
이제
main
함수에서 함수를 호출하고 getFirstAndLastName
함수에서 반환 값을 가져오려면 firstName
기호로 구분된 lastName
및 ,
라는 2개의 변수를 할당한 다음 :=
를 사용할 수 있습니다. ) 연산자는 각각 함수의 반환 값을 할당합니다.다음과 같이 할 수 있습니다.
package main
// getFirstAndLastName accepts a full name string
// and returns the first name and last name
// as the first and second return values
func getFirstAndLastName(fullname string) (string, string) {
// splitting the fullname single string by whitespace
names := strings.Split(fullname, " ")
// return the `names` array first element as the first return value
// and the second element as the second return value
return names[0], names[1]
}
func main(){
// call the `getFirstAndLastName` function
// and assign the first return value to the `firstName` variable
// and the second return value to the `lastName` variable
// using the `:=` (assignment) operator
firstName, lastName := getFirstAndLastName("John Doe")
}
마지막으로
firstName
표준 패키지의 lastName
메서드를 사용하여 콘솔에 Println()
및 fmt
변수를 다음과 같이 콘솔에 적용해 보겠습니다.package main
import (
"fmt"
"strings"
)
// getFirstAndLastName accepts a full name string
// and returns the first name and last name
// as the first and second return values
func getFirstAndLastName(fullname string) (string, string) {
// splitting the fullname single string by whitespace
names := strings.Split(fullname, " ")
// return the `names` array first element as the first return value
// and the second element as the second return value
return names[0], names[1]
}
func main() {
// call the `getFirstAndLastName` function
// and assign the first return value to the `firstName` variable
// and the second return value to the `lastName` variable
// using the `:=` (assignment) operator
firstName, lastName := getFirstAndLastName("John Doe")
// log it to the console
fmt.Println(firstName, lastName) // John Doe
}
여러 값을 성공적으로 반환하고 Go에서 2개의 변수에 할당했습니다. 예이 🥳!
The Go Playground에 있는 위의 코드를 참조하십시오.
그게 다야 😃!
이 정보가 유용하다고 생각되면 자유롭게 공유하세요 😃.
Reference
이 문제에 관하여(함수에서 여러 값을 반환하고 Golang 또는 Go의 변수에 할당하는 방법은 무엇입니까?), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/melvin2016/how-to-return-multiple-values-from-a-function-and-assign-them-to-variables-in-golang-or-go-hc2텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)