Go中跳过多个字节的最佳方法是什么io.Reader?也就是说,有没有这需要一个标准库函数读取和计数,将读取并处理数从字节读者?
用例示例:
func DoWithReader(r io.Reader) {
SkipNBytes(r, 30); // Read and dispose 30 bytes from reader
}
Run Code Online (Sandbox Code Playgroud)
我不需要在流中向后移动,因此任何可以在不转换io.Reader为其他读取器类型的情况下工作的东西都是首选.
我正在使用Gradle maven插件来构建一个用于另一个不相关项目的人工制品.除了构建的.jar工件外,我还想生成并安装-javadoc.jar工件.
使用gradle clean build javadoc install在本地构建文件中生成JavaDoc ,并将构建的artefact安装到本地存储库,但它目前不构建并安装-javadoc.jar.
有没有办法在Gradle中使用maven或javadoc插件执行此操作?我不介意编写自定义任务来执行此操作,但我宁愿使用"官方支持"方式(如果存在).
该的build.gradle文件:
project.group = "org.example.artefact"
project.version = "1.0-SNAPSHOT"
apply plugin: 'java'
apply plugin: 'maven'
dependencies {
// ...
}
uploadArchives {
repositories {
mavenDeployer {
// Custom repository location
repository(url: "file:///home/user/.m3/repository")
}
}
}
Run Code Online (Sandbox Code Playgroud) 我在 CloudFormation 中定义了一个步骤函数,它使用arn:aws:states:::ecs:runTask.waitForTaskToken. 此任务采用子网列表作为参数,并且需要至少定义 1 个子网。例子:
# Step Function
MyECSTask:
Type: Task
Resource: arn:aws:states:::ecs:runTask.waitForTaskToken
Parameters:
...
NetworkConfiguration:
AwsvpcConfiguration:
...
Subnets:
- <subnet 1>
- <subnet 2>
Run Code Online (Sandbox Code Playgroud)
我在 StringList SSM 参数中定义了多个子网,我试图通过属性使用 Cloud Formation 将其传递到步骤函数DefinitionSubstitutions。但是,我无法将 SSM StringList 参数作为列表传递到 Step Function 工作流程。将值按原样直接传递到 Step Functions 中不起作用:它要么出错,要么将其作为单个字符串值传递(这是不久前的事,所以我无法准确记住结果)。
相反,唯一对我有用的解决方案是在 CloudFormation 中拆分 StringList 值,并将每个子网作为单独的替换传递到 Step Function:
# Step Function
MyECSTask:
Type: Task
Resource: arn:aws:states:::ecs:runTask.waitForTaskToken
Parameters:
...
NetworkConfiguration:
AwsvpcConfiguration:
...
Subnets:
- ${Subnet1}
- ${Subnet2}
- ${Subnet3}
Run Code Online (Sandbox Code Playgroud)
# Cloud Formation
Parameters:
ListOfSubnets:
Type: AWS::SSM::Parameter::Value<CommaDelimitedList> …Run Code Online (Sandbox Code Playgroud)