Go 插入调用方法并插入值
我用另一种编程语言来实现这一点,创建一个url来反向地理编码一个位置。我是新手,我正在慢慢地准备剧本 我有两个变量x&y的方法Geofunction(x,y) 我从另一个方法调用上述方法,并将值提供给变量 我就是不能让它像预期的那样工作 有人能告诉我在哪里可以找到答案吗请在这方面给我一些帮助 我有一个Python的工作助手,当我学习Go时,我正在翻译脚本 我做了一些更改,以允许其他函数访问某些变量。我需要了解使用调用的方法是否能够访问变量值Go 插入调用方法并插入值,go,Go,我用另一种编程语言来实现这一点,创建一个url来反向地理编码一个位置。我是新手,我正在慢慢地准备剧本 我有两个变量x&y的方法Geofunction(x,y) 我从另一个方法调用上述方法,并将值提供给变量 我就是不能让它像预期的那样工作 有人能告诉我在哪里可以找到答案吗请在这方面给我一些帮助 我有一个Python的工作助手,当我学习Go时,我正在翻译脚本 我做了一些更改,以允许其他函数访问某些变量。我需要了解使用调用的方法是否能够访问变量值 package main import "fmt"
package main
import "fmt"
var Location1x, Location1y string
var Location1 string
var rev_geo string
func Geofunction(x, y) {
var str1 string = "https://eu1.locationiq.com/v1/reverse.php?key="
var str2 string = "**********************" //API Key
var str3 string = x // '48.853106'
var str4 string = "&lon="
var str5 string = y // '2.384202'
var str6 string = "&format=json"
var rev_geo string = str1 + str2 + str3 + str4 + str5 + str6
return rev_geo
}
func Locator() {
Location1x, Location1y = "48.853106", "2.384202"
Location1 = Geofunction(Location1x, Location1y)
}
func main() {
Locator()
fmt.Println(Location1)
}```
Expected:
A string of a URL is printed.
The three errors are:
main.go:9:18: undefined: x
main.go:9:21: undefined: y
Geofunction(Location1x, Location1y) used as value
Once I get the above sorted, I will then reuse the method to produce multiple strings in an API test that confirms specific data in the json files returned from the server
你少了几块
x
和y
类型缺失。由于两者都是字符串
s,因此可以同时定义类型GeoFunction
缺少返回类型,返回类型应为string
package main
import (
"fmt"
)
var Location1x, Location1y string
var Location1 string
var rev_geo string
func Geofunction(x, y string) string {
var str1 string = "https://eu1.locationiq.com/v1/reverse.php?key="
var str2 string = "**********************" //API Key
var str3 string = x // '48.853106'
var str4 string = "&lon="
var str5 string = y // '2.384202'
var str6 string = "&format=json"
var rev_geo string = str1 + str2 + str3 + str4 + str5 + str6
return rev_geo
}
func Locator() {
Location1x, Location1y = "48.853106", "2.384202"
Location1 = Geofunction(Location1x, Location1y)
}
func main() {
Locator()
fmt.Println(Location1)
}
您的方法定义在这里是错误的,因为go是一种静态类型的语言,所以您的函数定义应该具有参数的类型,它与参数名一起使用
package main
import "fmt"
var Location1x, Location1y string
var Location1 string
var rev_geo string
func Geofunction(x string, y string) {
var str1 string = "https://eu1.locationiq.com/v1/reverse.php?key="
var str2 string = "**********************" //API Key
var str3 string = x // '48.853106'
var str4 string = "&lon="
var str5 string = y // '2.384202'
var str6 string = "&format=json"
var rev_geo string = str1 + str2 + str3 + str4 + str5 + str6
return rev_geo
}
func Locator() {
Location1x, Location1y = "48.853106", "2.384202"
Location1 = Geofunction(Location1x, Location1y)
}
func main() {
Locator()
fmt.Println(Location1)
}
这基本上是可行的,但更好的方法是使用字符串生成器,而不是附加字符串。这样效率更高谢谢@Ragav Sood这就解决了我在将Geofunction视为一个值并打印url时遇到的问题。这就解决了我的这部分问题。一旦我有了一个完整的运行脚本,我会考虑用字符串生成器替换它,因为我的名声还不到15岁。我看不到你的选票