亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Insert 調用方法并插入值

Insert 調用方法并插入值

Go
一只萌萌小番薯 2023-07-17 14:33:08
我用另一種編程語言工作,創建一個 url 來反向地理編碼位置。我是 Go 新手,正在慢慢構建腳本。我有 Geofunction(x,y) 方法,其中包含兩個變量 x & y 從另一個方法中,我調用上述方法并向變量提供值。我只是無法讓它按預期工作。有人可以指出我在哪里可以幫助我找到答案嗎?請給我一些幫助。我在 Python 中有一個工作,當我學習 Go 時,我正在翻譯腳本理解。我進行了更改以允許其他函數訪問某些變量。我需要了解調用的方法是否能夠訪問變量值。package mainimport "fmt"var Location1x, Location1y stringvar Location1 stringvar rev_geo stringfunc 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: xmain.go:9:21: undefined: yGeofunction(Location1x, Location1y) used as valueOnce 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
查看完整描述

2 回答

?
撒科打諢

TA貢獻1934條經驗 獲得超2個贊

你少了幾塊。

  1. x函數定義中和的類型y丟失。由于兩者都是strings,因此可以同時定義類型。

  2. 該函數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)

}


查看完整回答
反對 回復 2023-07-17
?
白板的微信

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)

}

這基本上應該可以工作,但更好的方法是使用字符串生成器而不是附加字符串。這樣更有效率


查看完整回答
反對 回復 2023-07-17
  • 2 回答
  • 0 關注
  • 149 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號