以下是 Golang 函數常見問題的答案:函數不屬於任何類型,而方法屬於特定類型。函數指標是儲存函數位址的變量,可像其他指標一樣使用。函數可傳回多個值,並作為元組傳回。函數可使用 ... 語法宣告可變長度的參數列表。匿名函數是沒有名稱的函數,用於建立一次性使用的函數。
Golang 函數的相關常見問題
#1.函數與方法之間的差異
程式碼範例:
// 函数 func add(a, b int) int { return a + b } // 方法 type Person struct { name string } func (p Person) greet() string { return "Hello, my name is " + p.name }
2. 函數指標
函數指標是儲存函數位址的變數。可以像其他指標一樣使用它們來呼叫函數。
程式碼範例:
func add(a, b int) int { return a + b } var addFunc = add // 函数指针 func main() { result := addFunc(1, 2) // 使用函数指针调用函数 fmt.Println(result) // 输出: 3 }
3. 傳回多個值
函數可以使用return
語句傳回多個值。傳回值以元組傳回。
程式碼範例:
func getMinMax(nums []int) (int, int) { min := nums[0] max := nums[0] for _, num := range nums { if num < min { min = num } if num > max { max = num } } return min, max }
4. 可變參數清單
函數可以用...
語法宣告可變長度的參數清單。
程式碼範例:
func sum(nums ...int) int { sum := 0 for _, num := range nums { sum += num } return sum } func main() { result := sum(1, 2, 3, 4, 5) // 可变参数列表 fmt.Println(result) // 输出: 15 }
5.匿名函數
匿名函數是沒有名稱的函數。它通常用於創建一次性使用的函數。
程式碼範例:
func main() { // 创建匿名函数 add := func(a, b int) int { return a + b } // 使用匿名函数 result := add(1, 2) fmt.Println(result) // 输出: 3 }
以上是golang函數相關的常見問題的詳細內容。更多資訊請關注PHP中文網其他相關文章!