我是go lang的新手.我想读一个excel文件以便稍后处理,但我不知道如何阅读文件?有人能告诉我一个例子吗?
我使用 docker 为一个项目编写 Vapor、PostgreSQL 和 Nginx,我的 docker-compose.yml 像这样:
version: "3.6"
services:
vapor:
build:
context: ./vapor
image: ${CURRENT_VAPOR_IMG}
ports:
- 8080:8080
volumes:
- ${HOST_ROOT}:${CONTAINER_ROOT}
working_dir: ${CONTAINER_ROOT}
tty: true
entrypoint: bash
networks:
- x-net
nginx:
build:
context: ./nginx
image: ${CURRENT_NGINX_IMG}
ports:
- ${HOST_HTTP_PORT}:80
volumes:
- ${HOST_ROOT}:${CONTAINER_ROOT}
networks:
- x-net
psql:
image: ${CURRENT_DB_IMG}
ports:
- 5432:5432
environment:
- POSTGRES_DB=xxx
- POSTGRES_USER=xxx
- POSTGRES_PASSWORD=pass
volumes:
- ~/x/x-db:/var/lib/postgresql/data
networks:
- x-net
networks:
x-net:
driver: bridge
Run Code Online (Sandbox Code Playgroud)
运行docker-compose up启动所有容器后,进入到vapor的容器中build&&运行项目,控制台会提示错误:
NIO.ChannelError.connectFailed(NIO.NIOConnectionError(host: "localhost", port: 5432, dnsAError: nil, dnsAAAAError: nil, …Run Code Online (Sandbox Code Playgroud) 尝试理解地图,并写一个来测试它,
func map<A, B>(x: A?, f: A -> B) -> B? {
if let x1 = x {
return f(x1)
}
return nil
}
let test1 = [1, 2, 3, 4]
println(test1)
let test2 = map(test1, { $0 + 1 })
println(test2)
let test3: [Int?] = [5, nil, 7, 8]
println(test3)//[{Some "aaa"}, {Some "bbb"}, nil, {Some "ccc"}]
let test4 = map(test3, { $0 + 1 })
println(test4) //"Optional(0x00007fb7ea61e190)"
Run Code Online (Sandbox Code Playgroud)
但为什么test4无法输出值,只显示一个指针?