刚开始使用 Go 并在基本函数调用方面遇到问题:
fileContentBytes := ioutil.ReadFile("serverList.txt")
fileContent := string(fileContentBytes)
serverList := strings.Split(fileContent,"\n")
/*
serverList:
server1,
server2,
server3
*/
for _,server := range serverList {
fmt.Println("sending ", server)
processServer(server)
}
func processServer(s string) {
fmt.Println(s, " : started processing")
}
输出:
sending server1
: started processing
sending server2
: started processing
sending server3
server3: started processing
在 for 循环的上述代码中,我能够打印数组的所有元素,但只有最后一个元素 被正确传递给函数 processServer
。
我做错了什么?
去版本:1.8 操作系统:Windows 7 x64
最佳答案
能否提供定义serverList
变量的代码?
否则,您可以使用以下代码段:
package main
import (
"fmt"
)
func processServer(s string) {
fmt.Println(s, " : started processing")
}
func main() {
serverList := [...]string{"server1","server2","server3"}
for _,server := range serverList {
fmt.Println("sending ", server)
processServer(server)
}
}
您可以在此处运行脚本:https://play.golang.org/p/EL9RgIO67n
关于go - 在golang中传递字符串参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43061069/