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 關注
- 149 瀏覽
添加回答
舉報