CloudyGo
212 subscribers
8 photos
1 video
1 file
41 links
Software Engineering & Development Best Practices, Especially in Golang!


https://cloudygo.ir

@rezakhademix
Download Telegram
سوال #استخدامی:

اگر فانکشن modify رو به شکل زیر تعریف و سپس تابع main رو با بدنه نوشته اجرا کنیم، در نتیجه کدام یک از گزینه‌ها چاپ خواهد شد؟

1. Compilation Error
2. [100, 200, 300, 4]
3. [1, 2, 3, 4]
4. [100, 200, 300, 0]


func modify(s []int){
copy(s, []int{100, 200, 300})
}

func main(){
nums := []int{1, 2, 3, 4}
modify(nums)
fmt.Println(nums)
}



در زبان Go، تابع copy(dest, src) عناصر src را در dest کپی می‌کند، اما اندازه dest را تغییر نمی‌دهد.

در اینجا، دستور
 copy(nums, []int{100, 200, 300})

سه عنصر اول آرایه nums را جایگزین می‌کند، اما طول اصلی آن را تغییر نمی‌دهد.

بنابراین، وقتی fmt.Println(nums) را اجرا کنیم، خروجی
 [100, 200, 300, 4] 

خواهد بود. (گزینه دو)



#golang
#qa
👍7👏2