go - 在golang中传递字符串参数

标签 go

刚开始使用 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/

相关文章:

go - 用字符串中的空格替换&nbsp(或0xAO)

ruby-on-rails - 无法使用 AnyCable 通过 websocket 连接 Rails 和 Go

mongodb - Mongo-go-driver GridFS 元数据

Golang 如何将 sizeof struct 提取为 int

go - 如何减少 golang 中重复的 http 处理程序代码?

go - 我可以强制 filepath.Abs​​ 提供为另一个操作系统设计的路径吗?

http - 如何使用 http 而不是 https 在 Heroku 上提供 Golang 应用程序?

go - 按 createdDate golang 排序列表

curl - Youtube API 授权无效且缺少必需参数 : grant_type

go - dynamodbattribute.UnmarshalMap 将我的变量类型更改为 map[string]interface{}