2 回答
TA贡献1934条经验 获得超2个赞
你少了几块。
x
函数定义中和的类型y
丢失。由于两者都是string
s,因此可以同时定义类型。该函数
GeoFunction
缺少返回类型,应该是string
与 Python 不同,Go 对语法和结构非常严格 ,它会让你的事情变得更加顺利。
尝试类似的方法:
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)
}
TA贡献1883条经验 获得超3个赞
你的方法定义在这里是错误的,考虑到 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)
}
这基本上应该可以工作,但更好的方法是使用字符串生成器而不是附加字符串。这样更有效率
- 2 回答
- 0 关注
- 108 浏览
添加回答
举报