This section contains the Golang pointers find output programs (set 1) with their output and explanations.
Program 1:
package main
import "fmt"
func changeValue(v *int) {
*v = 20
}
func main() {
val := 10
fmt.Println("Value is: ", val)
changeValue(&val)
fmt.Println("Value is: ", val)
}
Program 2:
package main
import "fmt"
func changeValue(v *int)
func main() {
val := 10
fmt.Println("Value is: ", val)
changeValue(&val)
fmt.Println("Value is: ", val)
}
func changeValue(v *int) {
*v = 20
}
Program 3:
package main
import "fmt"
func main() {
val := 10
var ptr *int
ptr = &val
*ptr = 50
fmt.Println("Value is: ", val)
fmt.Println("Value is: ", *ptr)
}
Program 4:
package main
import "fmt"
func main() {
var val int = 10
var ptr1 *int
var ptr2 **int
ptr1 = &val
ptr2 = &ptr1
**ptr2 = 50
fmt.Println("Value is: ", val)
fmt.Println("Value is: ", *ptr1)
fmt.Println("Value is: ", **ptr2)
}
Program 5:
package main
import "fmt"
func main() {
var val string = "hello"
var ptr *string
ptr = &val
fmt.Printf("%s\n", *ptr)
fmt.Printf("%c\n", val[1])
}
Answer Program 1:
Output:
Explanation:
In the above program, we created two functions changeValue() and main(). The changeValue() function assigns a new value to the specified pointer. In the main() function, created a variable val initialized with 10. Then passed the address of the val variable. Then we printed the updated value of the val variable.
Answer Program 2:
Output:
Explanation:
The above program will generate a syntax error because function prototype func changeValue(v *int); is not required in the Go language.
Answer Program 3:
Output:
Explanation:
In the above program, we created a variable val and pointer ptr. Then we assigned the address of val into pointer ptr. After that, we assigned the new value to the *ptr. It will change the value of val. Then we printed the value of val and *ptr.
Answer Program 4:
Output:
Explanation:
In the above program, we created a variable val, ptr1 and ptr2. Then we assigned the address of val into pointer ptr1, and assigned the address into ptr2. After that, we assigned the new value to the **ptr2. It will change the value of val. Then we printed the value of val, *ptr1, and **ptr2.
Answer Program 5:
Output:
Explanation:
In the above program, we created a variable val, ptr. Then we assigned the address of val into pointer ptr. After that, we printed the *ptr and the 2nd character of the string val.
need an explanation for this answer? contact us directly to get an explanation for this answer