return
client, err := net.DialTimeout(netScheme, host, time.Duration(w.Timeout))
if err != nil {
fmt.Printf("Error: %v\n", err)
} else {
fmt.Printf("Connected to %v\n", client.RemoteAddr())
}
자바로 치면,
// Java에서 다중 반환 값을 처리하는 예시
// 사용자 정의 클래스
class ConnectionResult {
public Socket client;
public Exception error;
public ConnectionResult(Socket client, Exception error) {
this.client = client;
this.error = error;
}
}
public ConnectionResult connect(String host, int timeout) {
try {
Socket client = new Socket();
client.connect(new InetSocketAddress(host, timeout));
return new ConnectionResult(client, null);
} catch (IOException e) {
return new ConnectionResult(null, e);
}
}
// 사용 예시
ConnectionResult result = connect("example.com", 1000);
if (result.error != null) {
System.out.println("Error: " + result.error.getMessage());
} else {
System.out.println("Connected to " + result.client.getRemoteSocketAddress());
}