今天看到个有趣的网站,给大家分享一下。
该网站的功能很神奇,可以实现编程语言的转化。感觉在一些场景之下还是有点作用的,比如你原来跟我一样是做Java的,因为工作需要突然转Go。这个时候用你Java的经验 + 这个工具,或许可以起到一定的帮助作用。
工具的使用也很简单,只需要在左侧黏贴你想转换的原始代码,然后点击CONVERT CODE,右侧输入框就会转换成目标代码:
像下面这样更加复杂的代码转换也是不在话下:
const fs = require('fs');
constAWS = require('aws-sdk');
const s3 = newAWS.S3({
accessKeyId: process.env.AWS_ACCESS_KEY,
secretAccessKey: process.env.AWS_SECRET_ACCESS_KEY
});
const fileName = 'contacts.csv';
constuploadFile = () => {
fs.readFile(fileName, (err, data) => {
if (err) throw err;
const params = {
Bucket: 'testBucket', // pass your bucket nameKey: 'contacts.csv', // file will be saved as testBucket/contacts.csvBody: JSON.stringify(data, null, 2)
};
s3.upload(params, function(s3Err, data) {
if (s3Err) throw s3Err
});
});
};
uploadFile();
可以看到其中还包含了aws的内容,居然也能顺利的转成Java
import java.io.File;
import java.io.IOException;
import java.util.Scanner;
import com.amazonaws.AmazonServiceException;
import com.amazonaws.SdkClientException;
import com.amazonaws.auth.profile.ProfileCredentialsProvider;
import com.amazonaws.services.s3.AmazonS3;
import com.amazonaws.services.s3.AmazonS3ClientBuilder;
import com.amazonaws.services.s3.model.ObjectMetadata;
import com.amazonaws.services.s3.model.PutObjectRequest;
publicclassUploadObject {
publicstaticvoidmain(String[] args)throws IOException {
StringclientRegion="*** Client region ***";
StringbucketName="*** Bucket name ***";
StringstringObjKeyName="*** String object key name ***";
StringfileObjKeyName="*** File object key name ***";
StringfileName="*** Path to file to upload ***";
try {
AmazonS3s3Client= AmazonS3ClientBuilder.standard()
.withRegion(clientRegion)
.withCredentials(newProfileCredentialsProvider())
.build();
// Upload a text string as a new object.
s3Client.putObject(bucketName, stringObjKeyName, "Uploaded String Object");
// Upload a file as a new object with ContentType and title specified.PutObjectRequestrequest=newPutObjectRequest(bucketName, fileObjKeyName, newFile(fileName));
ObjectMetadatametadata=newObjectMetadata();
metadata.setContentType("plain/text");
metadata.addUserMetadata("x-amz-meta-title", "someTitle");
request.setMetadata(metadata);
s3Client.putObject(request);
}
catch(AmazonServiceException e) {
// The call was transmitted successfully, but Amazon S3 couldn't process // it, so it returned an error response.
e.printStackTrace();
}
catch(SdkClientException e) {
// Amazon S3 couldn't be contacted for a response, or the client// couldn't parse the response from Amazon S3.
e.printStackTrace();
}
}
}
根据官方说明,该工具也是通过AI实现的,是不是很神奇呢?这个到底是怎么实现的呢?有了解的小伙伴留言区一起探讨下吧!