Vivasoft-logo

[ā§Š.⧍] āĻŽā§‡āĻĨāĻĄ (Method)

āĻāχ āĻĒāĻ°ā§āϝāĻžā§Ÿā§‡ āφāĻŽāϰāĻž āĻĒāϰāĻŋāϚāĻŋāϤ āĻšāĻŦā§‹ Go āĻŽā§‡āĻĨāĻĄ āĻāϰ āϏāĻžāĻĨ⧇āĨ¤ āĻāϰ āĻŽāĻžāĻ§ā§āϝāĻŽā§‡āχ Go, Object Oriented āĻ•āύāϏ⧇āĻĒā§āĻŸā§‡āϰ āϏāĻžāĻĨ⧇ āύāĻŋāĻœā§‡āϕ⧇ āϏāĻ‚āϝ⧁āĻ•ā§āϤ āĻ•āϰ⧇āϛ⧇āĨ¤ āĻŽā§‡āĻĨāĻĄ āϏāĻŽā§āĻĒāĻ°ā§āϕ⧇ āφāĻŽāĻžāĻĻ⧇āϰ āĻ…āĻŦāĻļā§āϝāχ āĻĒāϰāĻŋāĻˇā§āĻ•āĻžāϰ āϧāĻžāϰāĻŖāĻž āĻĨāĻžāĻ•āϤ⧇ āĻšāĻŦ⧇āĨ¤

[ā§Š.⧍.ā§§] āĻŽā§‡āĻĨāĻĄ āϕ⧀ ? 

āĻŽā§‡āĻĨāĻĄ āĻāĻ•āϟāĻŋ āĻĢāĻžāĻ‚āĻļāύ āĻ›āĻžāĻĄāĻŧāĻž āφāϰ āĻ•āĻŋāϛ⧁āχ āύāϝāĻŧ, āĻ•āĻŋāĻ¨ā§āϤ⧁ āĻāϟāĻŋ āĻāĻ•āϟāĻŋ āύāĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āϟ Struct āĻŦāĻž Non-struct āĻāϰ āϏāĻžāĻĨ⧇ āϏāĻ‚āϝ⧁āĻ•ā§āϤāĨ¤ āĻŽā§‡āĻĨāĻĄāϕ⧇ āĻāĻ•āϟāĻŋ āϏāĻžāϧāĻžāϰāĻŖ āĻĢāĻžāĻ‚āĻļāύ āĻĨ⧇āϕ⧇ āϏāĻžāĻŽāĻžāĻ¨ā§āϝ āĻ­āĻŋāĻ¨ā§āύ āϏāĻŋāύāĻŸā§āϝāĻžāĻ•ā§āϏ⧇ āϏāĻ‚āĻœā§āĻžāĻžāϝāĻŧāĻŋāϤ āĻ•āϰāĻž āĻšāϝāĻŧāĨ¤ āĻŽā§‡āĻĨāĻĄā§‡ āĻĢāĻžāĻ‚āĻļāύ⧇āϰ āĻĨ⧇āϕ⧇ āĻ…āϤāĻŋāϰāĻŋāĻ•ā§āϤ āĻĒā§āϝāĻžāϰāĻžāĻŽāĻŋāϟāĻžāϰ āϟāĻžāχāĻĒ āĻĨāĻžāϕ⧇ āϝāĻžÂ  func  āĻ•āĻŋāĻ“ā§ŸāĻžāĻ°ā§āĻĄ āĻāĻŦāĻ‚ āĻŽā§‡āĻĨāĻĄ āύāĻžāĻŽā§‡āϰ āĻŽāĻžāĻāĻ–āĻžāύ⧇ āĻĨāĻžāϕ⧇āĨ¤Â  āĻāχ āϟāĻžāχāĻĒ āĻĒā§āϝāĻžāϰāĻžāĻŽāĻŋāϟāĻžāϰāϕ⧇ āϰāĻŋāϏāĻŋāĻ­āĻžāϰ āĻŦāϞāĻž āĻšā§ŸāĨ¤ Go- āϤ⧇ āϏāĻžāϧāĻžāϰāĻŖāϤ āϰāĻŋāϏāĻŋāĻ­āĻžāϰ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāĻž āĻšā§Ÿ OOP āĻ•āύāϏ⧇āĻĒā§āϟ āχāĻŽāĻĒā§āϞāĻŋāĻŽā§‡āĻ¨ā§āϟ āĻ•āϰāĻžāϰ āϜāĻ¨ā§āϝ āϝ⧇āĻ–āĻžāύ⧇ āĻ…āĻ¨ā§āϝ āĻ­āĻžāώāĻž āϝ⧇āĻŽāύ āĻĒāĻžāχāĻĨāύ āĻāĻŦāĻ‚ āϜāĻžāĻ­āĻž āϤ⧇ āĻ•ā§āϞāĻžāϏ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇ āĻĨāĻžāϕ⧇āĨ¤ Go- āϤ⧇ āϏāĻžāϧāĻžāϰāĻŖāϤ āĻ•ā§āϞāĻžāϏ āύ⧇āχ , āϤāĻŦ⧇ Go- āϤ⧇ āĻŽā§‡āĻĨāĻĄāϕ⧇ āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āύ āϧāϰāϪ⧇āϰ Struct āĻāĻŦāĻ‚ Non-struct āϟāĻžāχāĻĒ⧇āϰ āϏāĻžāĻĨ⧇ āϏāĻ‚āϝ⧁āĻ•ā§āϤ āĻ•āϰ⧇ āϏāĻ‚āĻœā§āĻžāĻžāϝāĻŧāĻŋāϤ āĻ•āϰāĻž āĻšāϝāĻŧāĨ¤

 āĻāĻ–āύ āφāĻŽāϰāĻž āĻ•āĻŋāĻ­āĻžāĻŦ⧇ āĻŽā§‡āĻĨāĻĄ āϞāĻŋāĻ–āϤ⧇ āĻšāϝāĻŧ āϏ⧇āϟāĻžāϰ āϏāĻŋāύāĻŸā§āϝāĻžāĻ•ā§āϏ āĻļāĻŋāĻ–āĻŦ –

				
					 func (receiverName receiverType) MethodName (parameter List)(returnTypes){
       method body
   }

				
			

āĻāĻ•āϟāĻž āϏāĻŋāĻŽā§āĻĒāϞ āĻŽā§‡āĻĨāĻĄ āĻĻ⧇āĻ–āϤ⧇ āĻ…āύ⧇āĻ•āϟāĻž āĻāϰāĻ•āĻŽ āĻšāϝāĻŧ āσ

āĻāĻ•āϟāĻŋ āĻŽā§‡āĻĨāĻĄā§‡āϰ āĻļ⧁āϰ⧁āϤ⧇ func āĻ•āĻŋāĻ“āϝāĻŧāĻžāĻ°ā§āĻĄ āĻĨāĻžāϕ⧇ āĻāĻŦāĻ‚ āĻāϰāĻĒāϰ⧇ āĻĢāĻžāĻ¸ā§āϟ āĻŦā§āĻ°ā§āϝāĻžāϕ⧇āϟ āĻĨāĻžāϕ⧇ āϝ⧇āĻ–āĻžāύ⧇ āϰāĻŋāϏāĻŋāĻ­āĻžāϰ āϟāĻžāχāĻĒ āĻĨāĻžāϕ⧇ āĻāĻŦāĻ‚ āĻāϰāĻĒāϰ āĻŽā§‡āĻĨāĻĄā§‡āϰ āύāĻžāĻŽ āĻĨāĻžāϕ⧇ āĻāĻŦāĻ‚ āĻĢāĻžāĻ¸ā§āϟ āĻŦā§āĻ°ā§āϝāĻžāϕ⧇āϟ āĻĨāĻžāϕ⧇āĨ¤ āĻāϰ āĻĒāϰ⧇ āĻŽā§‡āĻĨāĻĄā§‡āϰ āĻāϰ āĻŦā§āϞāĻ• āĻĨāĻžāϕ⧇ āϝ⧇āĻ–āĻžāύ⧇ āφāĻŽāϰāĻž āϕ⧋āĻĄ āĻ•āϰāϤ⧇ āĻĒāĻžāϰāĻŋ āĨ¤ āĻāĻ•āϟāĻŋ āĻŽā§‡āĻĨāĻĄā§‡āϰ āĻŦā§āϞāĻ• āĻļ⧁āϰ⧁ āĻāĻŦāĻ‚ āĻļ⧇āώ āĻšāϝāĻŧ āϏ⧇āϕ⧇āĻ¨ā§āĻĄ āĻŦā§āĻ°ā§āϝāĻžāϕ⧇āϟ āĻĻāĻŋāϝāĻŧ⧇ āĨ¤

 

āĻŦāĻŋāĻļ⧇āώ āύ⧋āϟ: āφāĻŽāϰāĻž āϜāĻžāύāĻŋ āϰāĻŋāϏāĻŋāĻ­āĻžāϰ āĻĻ⧁āχ āϧāϰāϪ⧇āϰ āĻšā§Ÿā§‡ āĻĨāĻžāϕ⧇ āĻ­ā§āϝāĻžāϞ⧁ āϰāĻŋāϏāĻŋāĻ­āĻžāϰ āĻāĻŦāĻ‚ āĻĒā§Ÿā§‡āĻ¨ā§āϟāĻžāϰ āϰāĻŋāϏāĻŋāĻ­āĻžāϰāĨ¤ āĻ­ā§āϝāĻžāϞ⧁ āϰāĻŋāϏāĻŋāĻ­āĻžāϰ⧇āϰ āϏāĻžāĻšāĻžāĻ¯ā§āϝ⧇ Type āĻāϰ āĻŽāĻžāύ⧇āϰ āĻāĻ•āϟāĻŋ āĻ•āĻĒāĻŋ āĻĒāĻžāĻ āĻžāύ⧋ āĻšā§Ÿ āϝāĻžāϰ āĻĢāϞ⧇ āφāĻŽāϰāĻž āϚāĻžāχāϞ⧇āĻ“ Type āĻāϰ āφāϏāϞ āĻŽāĻžāύ⧇āϰ āϕ⧋āύ āĻĒāϰāĻŋāĻŦāĻ°ā§āϤāύ āĻ•āϰāϤ⧇ āĻĒāĻžāϰāĻŋ āύāĻžāĨ¤ āĻāϜāĻ¨ā§āϝ āϝāĻ–āύ āφāϏāϞ āĻŽāĻžāύ āĻĒāϰāĻŋāĻŦāĻ°ā§āϤāύ⧇āϰ āĻĒā§āĻ°ā§Ÿā§‹āϜāύ āĻšā§Ÿ āϤāĻ–āύ āφāĻŽāϰāĻž āĻĒā§Ÿā§‡āĻ¨ā§āϟāĻžāϰ āϰāĻŋāϏāĻŋāĻ­āĻžāϰ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇ āĻŽāĻžāύ⧇āϰ āĻĒāϰāĻŋāĻŦāĻ°ā§āϤāύ āĻ•āϰ⧇ āĻĨāĻžāĻ•āĻŋāĨ¤ āĻ•āĻžāϰāĻŖ āĻĒā§Ÿā§‡āĻ¨ā§āϟāĻžāϰ⧇āϰ āĻŽāĻžāĻ§ā§āϝāĻŽā§‡ *Type āĻāϰ āĻ…ā§āϝāĻžāĻĄā§āϰ⧇āϏ āĻĒāĻžāĻ āĻžāύ⧋ āĻšā§ŸāĨ¤ āϝāĻ–āύ āφāĻŽāϰāĻž Type āĻāĻŦāĻ‚ *Type āĻāϰ āϜāĻ¨ā§āϝ āĻāĻ•āϟāĻŋ āĻŽā§‡āĻĨāĻĄ āĻĄāĻŋāĻ•ā§āĻ˛ā§‡ā§ŸāĻžāϰ āĻ•āϰāĻŦ āϤāĻ–āύ āφāĻŽāĻžāĻĻ⧇āϰ āĻ…āĻŦāĻļā§āϝāχ āύāĻŋāĻšā§‡āϰ āĻŦāĻŋāώ⧟āϗ⧁āϞ⧋ āĻ–ā§‡ā§ŸāĻžāϞ āϰāĻžāĻ–āϤ⧇ āĻšāĻŦ⧇ – 

  1. Type āĻ…āĻŦāĻļā§āϝāχ āĻĄāĻŋāĻĢāĻžāχāύ āĻ•āϰāϤ⧇ āĻšāĻŦ⧇ āĨ¤
  2. Type āĻāĻŦāĻ‚ āĻŽā§‡āĻĨāĻĄ āĻ…āĻŦāĻļā§āϝāχ āĻāĻ•āχ āĻĒā§āϝāĻžāϕ⧇āĻœā§‡ āĻĄāĻŋāĻĢāĻžāχāύ āĻ•āϰāϤ⧇ āĻšāĻŦ⧇āĨ¤
  3. Type āĻ…āĻŦāĻļā§āϝāχ āχāĻ¨ā§āϟāĻžāϰāĻĢ⧇āϏ āϟāĻžāχāĻĒ āĻšāĻ“ā§ŸāĻž āϝāĻžāĻŦ⧇āύāĻžāĨ¤

[ā§Š.⧍.⧍] āĻŽā§‡āĻĨāĻĄ āĻāϰ āϏāĻžāĻĨ⧇ Struct āϟāĻžāχāĻĒ āϰāĻŋāϏāĻŋāĻ­āĻžāϰ⧇āϰ āĻŦā§āϝāĻŦāĻšāĻžāϰ

āĻŽā§‡āĻĨāĻĄ āĻĄāĻŋāĻĢāĻžāχāύ⧇āϰ āϏāĻŽā§Ÿ āφāĻŽāϰāĻž Sturct āĻ…āĻĨāĻŦāĻž Non-Struct āϟāĻžāχāĻĒ⧇āϰ āϰāĻŋāϏāĻŋāĻ­āĻžāϰ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāϤ⧇ āĻĒāĻžāϰāĻŋāĨ¤ āĻāĻ–āύ āφāĻŽāϰāĻž āωāĻĻāĻžāĻšāϰāϪ⧇āϰ āĻŽāĻžāĻ§ā§āϝāĻŽā§‡ āĻĻ⧇āĻ–āĻŦā§‹ āϕ⧀āĻ­āĻžāĻŦ⧇ āĻŽā§‡āĻĨāĻĄā§‡āϰ āϏāĻžāĻĨ⧇ Struct āϟāĻžāχāĻĒ āϰāĻŋāϏāĻŋāĻ­āĻžāϰ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāĻž āĻšā§ŸāĨ¤

   āωāĻĻāĻžāĻšāϰāĻŖ –

				
					  package main

   import "fmt"

   type User struct {
       Name  string
       Email string
   }

   func (u User) userDetails() string {
       return fmt.Sprintf("User name is : %s and email is: %s", u.Name, u.Email)
   }

   func main() {
       user1 := User{Name: "John Doe", Email: "johndoe@Golinuxcloud.com"}
       fmt.Println(user1.userDetails())
   }

   // Output:
   // User name is : John Doe and email is: johndoe@Golinuxcloud.com

				
			

 āωāĻĒāϰ⧇āϰ āωāĻĻāĻžāĻšāϰāϪ⧇ –

  • āφāĻŽāϰāĻž User Struct āϤ⧈āϰāĻŋ āĻ•āϰ⧇āĻ›āĻŋ āϝāĻžāϰ Name āĻāĻŦāĻ‚ Email āĻĻ⧁āϟāĻŋ āĻĢāĻŋāĻ˛ā§āĻĄ āĻ°ā§Ÿā§‡āϛ⧇āĨ¤Â 
  • āĻāϰāĻĒāϰ āφāĻŽāϰāĻž (u User) Struct āϰāĻŋāϏāĻŋāĻ­āĻžāϰ⧇āϰ āϏāĻžāĻšāĻžāĻ¯ā§āϝ⧇ userDetails() āĻŽā§‡āĻĨāĻĄ āĻāϏ⧋āϏāĻŋā§Ÿā§‡āϟ āĻ•āϰ⧇āĻ›āĻŋāĨ¤Â 
  • āϰāĻŋāϏāĻŋāĻ­āĻžāϰ āĻ­ā§āϝāĻžāϰāĻŋā§Ÿā§‡āĻŦāϞ u āĻāϰ āϏāĻžāĻĨ⧇ āĻĄāϟ āύ⧋āĻŸā§‡āĻļāύ⧇āϰ āĻŽāĻžāĻ§ā§āϝāĻŽā§‡ Struct āĻāϰ āĻĢāĻŋāĻ˛ā§āĻĄ āĻ­ā§āϝāĻžāϞ⧁ u.Name āĻāĻŦāĻ‚ u.Email āĻ…ā§āϝāĻžāĻ•ā§āϏ⧇āϏ āĻ•āϰāĻž āĻšā§Ÿā§‡āϛ⧇āĨ¤Â 
  • āϤāĻžāϰāĻĒāϰ main() āĻĢāĻžāĻ‚āĻļāύ⧇ User āĻāϰ āĻāĻ•āϟāĻž āχāĻ¨ā§āϏāĻŸā§āϝāĻžāĻ¨ā§āϏ user1 āϤ⧈āϰāĻŋ āĻ•āϰāĻž āĻšā§Ÿā§‡āϛ⧇ āϝāĻžāϰ āϏāĻžāĻšāĻžāĻ¯ā§āϝ⧇ userDetails() āĻŽā§‡āĻĨāĻĄāϕ⧇ āĻ•āϞ āĻ•āϰāĻž āĻšā§Ÿā§‡āϛ⧇āĨ¤Â 

 

[ā§Š.⧍.ā§Š] āĻŽā§‡āĻĨāĻĄ āĻāϰ āϏāĻžāĻĨ⧇ Non-Struct āϟāĻžāχāĻĒ āϰāĻŋāϏāĻŋāĻ­āĻžāϰ⧇āϰ āĻŦā§āϝāĻŦāĻšāĻžāϰ

āĻāĻ–āύ āφāĻŽāϰāĻž āĻĻ⧇āĻ–āĻŦā§‹ Non-Struct āϟāĻžāχāĻĒ āϰāĻŋāϏāĻŋāĻ­āĻžāϰ⧇āϰ āϏāĻžāĻĨ⧇ āϕ⧀āĻ­āĻžāĻŦ⧇ āĻŽā§‡āĻĨāĻĄ āĻĄāĻŋāĻĢāĻžāχāύ āĻ•āϰāϤ⧇ āĻšā§ŸāĨ¤ āφāĻŽāϰāĻž [ā§Š.⧍.ā§§] āĻ āϤāĻŋāύāϟāĻŋ āĻĒā§Ÿā§‡āĻ¨ā§āĻŸā§‡ āĻĻ⧇āϖ⧇āĻ›āĻŋāϞāĻžāĻŽ āϟāĻžāχāĻĒ āĻāĻŦāĻ‚ āĻŽā§‡āĻĨāĻĄ āĻāĻ•āχ āĻĒā§āϝāĻžāϕ⧇āĻœā§‡ āĻĄāĻŋāĻ•ā§āĻ˛ā§‡ā§ŸāĻžāϰ āĻ•āϰāϤ⧇ āĻšāĻŦ⧇ āϤāĻž āύāĻž āĻšāϞ⧇ āĻ•āĻŽā§āĻĒāĻžāχāϞāĻžāϰ āĻāϰāϰ āĻĻāĻŋāĻŦ⧇āĨ¤Â Â 

āύāĻŋāĻŽā§āύ⧇āϰ āωāĻĻāĻžāĻšāϰāĻŖāϟāĻŋ āϞāĻ•ā§āώ āĻ•āϰāĻŋ āσ

				
					package main

   import "fmt"

    type myNumber int

   func (num myNumber) square() myNumber {
       if num == 0 {
           return 1
       }
       return num * num
   }

   func main() {
       num := myNumber(25)
       sq := num.square()
       fmt.Printf("The square of %d is %d \n", num, sq)
   }


   // Output : The square of 25 is 625

				
			
āωāĻĒāϰ⧇āϰ āωāĻĻāĻžāĻšāϰāϪ⧇-
  • āφāĻŽāϰāĻž myNumber , Non-Struct āĻāĻ•āϟāĻŋ āϟāĻžāχāĻĒ āϤ⧈āϰāĻŋ āĻ•āϰ⧇āĻ›āĻŋ āĨ¤Â 
  • āĻāϰāĻĒāϰ āφāĻŽāϰāĻž (num myNumber) Non-Struct āϰāĻŋāϏāĻŋāĻ­āĻžāϰ⧇āϰ āϏāĻžāĻšāĻžāĻ¯ā§āϝ⧇ square() āĻŽā§‡āĻĨāĻĄ āĻāϏ⧋āϏāĻŋā§Ÿā§‡āϟ āĻ•āϰ⧇āĻ›āĻŋ āϝāĻžāϰ āϰāĻŋāϟāĻžāĻ°ā§āύ āϟāĻžāχāĻĒ myNumberāĨ¤Â 
  • āϤāĻžāϰāĻĒāϰ main() āĻĢāĻžāĻ‚āĻļāύ⧇ myNumber āĻāϰ āĻāĻ•āϟāĻž āχāĻ¨ā§āϏāĻŸā§āϝāĻžāĻ¨ā§āϏ num āϤ⧈āϰāĻŋ āĻ•āϰāĻž āĻšā§Ÿā§‡āϛ⧇ āϝāĻžāϰ āϏāĻžāĻšāĻžāĻ¯ā§āϝ⧇ square() āĻŽā§‡āĻĨāĻĄāϕ⧇ āĻ•āϞ āĻ•āϰāĻž āĻšā§Ÿā§‡āϛ⧇ āϝ⧇āϟāĻž sq āĻ­ā§āϝāĻžāϰāĻŋā§Ÿā§‡āĻŦāϞ⧇ āĻˇā§āĻŸā§‹āϰ āĻ•āϰāĻž āĻšā§Ÿā§‡āϛ⧇āĨ¤

 [3.2.3] āĻŽā§‡āĻĨāĻĄ āĻāϰ āϏāĻžāĻĨ⧇ Interface āϟāĻžāχāĻĒ⧇āϰ āĻŦā§āϝāĻŦāĻšāĻžāϰ

 Go – āϤ⧇ āχāĻ¨ā§āϟāĻžāϰāĻĢ⧇āϏ āĻšāϞ āĻāĻ•āϟāĻŋ āϟāĻžāχāĻĒ āϝ⧇āĻ–āĻžāύ⧇ āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āύ āĻĒā§āϝāĻžāϰāĻžāĻŽāĻŋāϟāĻžāϰ āĻ“ āϰāĻŋāϟāĻžāĻ°ā§āύ āϟāĻžāχāĻĒ⧇āϰ āĻŽā§‡āĻĨāĻĄ āϏāĻŋāĻ—āύ⧇āϚāĻžāϰ āĻĨāĻžāϕ⧇āĨ¤ āĻŽā§‡āĻĨāĻĄāϗ⧁āϞ⧋ āχāĻŽāĻĒā§āϞāĻŋāĻŽā§‡āĻ¨ā§āϟ āĻ•āϰāĻžāϰ āϜāĻ¨ā§āϝ āĻāĻ•āϟāĻŋ Struct āϟāĻžāχāĻĒ⧇āϰ āϰāĻŋāϏāĻŋāĻ­āĻžāϰ⧇āϰ āϏāĻžāĻĨ⧇ āĻŽā§‡āĻĨāĻĄ āĻāϏ⧋āϏāĻŋā§Ÿā§‡āϟ āĻĨāĻžāϕ⧇āĨ¤

 āĻāĻ•āϟāĻŋ āωāĻĻāĻžāĻšāϰāϪ⧇āϰ āĻŽāĻžāĻ§ā§āϝāĻŽā§‡ āĻĻ⧇āĻ–āĻž āϝāĻžāĻ• –

				
					 package main

   import "fmt"

   type Animal interface {
       walk() string
       bark() string
   }

   type Dog struct {
       w, b string
   }

   func (d Dog) walk() string {
       return d.w
   }

   func (d Dog) bark() string {
       return d.b
   }

   func main() {
       var a Animal = Dog{"Dog is walking.....!!!", "Dog is barking....!!!"}
       fmt.Println("!.....Dog......!")
       fmt.Println(a.walk())
       fmt.Println(a.bark())
   }

   // Output :
   // !.....Dog......!
   // Dog is walking.....!!!
   // Dog is barking....!!!

				
			

  āωāĻĒāϰ⧇āϰ āωāĻĻāĻžāĻšāϰāϪ⧇, āφāĻŽāϰāĻž Animal  āχāĻ¨ā§āϟāĻžāϰāĻĢ⧇āĻ¸Â  āϤ⧈āϰāĻŋ āĻ•āϰ⧇āĻ›āĻŋ āϝāĻžāϰ walk() āĻāĻŦāĻ‚ bark() āύāĻžāĻŽā§‡ āĻĻ⧁āϟāĻŋ āĻŽā§‡āĻĨāĻĄ āĻ°ā§Ÿā§‡āϛ⧇ āĨ¤ āĻāϰāĻĒāĻ°Â  Animal āχāĻ¨ā§āϟāĻžāϰāĻĢ⧇āϏāĻ•ā§‡Â  āχāĻŽāĻĒā§āϞāĻŋāĻŽā§‡āĻ¨ā§āϟ āĻ•āϰāĻžāϰ āϜāĻ¨ā§āϝ Dog āϟāĻžāχāĻĒ⧇āϰ Struct āϤ⧈āϰāĻŋ āĻ•āϰ⧇āĻ›āĻŋ āϝāĻžāϰ w āĻ“ b āύāĻžāĻŽā§‡ āĻĻ⧁āϟāĻŋ āĻĢāĻŋāĻ˛ā§āĻĄ āφāϛ⧇āĨ¤ āĻāϰāĻĒāĻ°Â  (d Dog) Struct āϰāĻŋāϏāĻŋāĻ­āĻžāϰ⧇āϰ āϏāĻžāĻšāĻžāĻ¯ā§āϝ⧇ walk() āĻāĻŦāĻ‚ bark() āĻŽā§‡āĻĨāĻĄāϕ⧇ āĻāϏ⧋āϏāĻŋā§Ÿā§‡āϟ āĻ•āϰ⧇āĻ›āĻŋāĨ¤ āϰāĻŋāϏāĻŋāĻ­āĻžāϰ āĻ­ā§āϝāĻžāϰāĻŋā§Ÿā§‡āĻŦāϞ d āĻāϰ āϏāĻžāĻĨ⧇ āĻĄāϟ āύ⧋āĻŸā§‡āĻļāύ⧇āϰ āĻŽāĻžāĻ§ā§āϝāĻŽā§‡ Struct āĻāϰ āĻĢāĻŋāĻ˛ā§āĻĄ āĻ­ā§āϝāĻžāϞ⧁ d.w āĻāĻŦāĻ‚ d.b āĻ…ā§āϝāĻžāĻ•ā§āϏ⧇āϏ āĻ•āϰāĻž āĻšā§Ÿā§‡āϛ⧇āĨ¤ āϤāĻžāϰāĻĒāϰ main() āĻĢāĻžāĻ‚āĻļāύ⧇ āχāĻ¨ā§āϤāĻžāϰāĻĢ⧇āϏ Animal āϟāĻžāχāĻĒ⧇āϰ āĻ­ā§āϝāĻžāϰāĻŋā§Ÿā§‡āĻŦāϞ a āϤ⧇  Dog Struct āφāϏāĻžāχāύ āĻ•āϰāĻž āĻšā§Ÿā§‡āϛ⧇āĨ¤ āĻāϰāĻĒāϰ āχāĻ¨ā§āϟāĻžāϰāĻĢ⧇āϏ āĻ­ā§āϝāĻžāϰāĻŋā§Ÿā§‡āĻŦāϞ⧇āϰ āϏāĻžāĻĨ⧇ a.walk() āĻāĻŦāĻ‚ a.bark() āĻŽā§‡āĻĨāĻĄ āĻ•āϞ āĻ•āϰāĻž āĻšā§Ÿā§‡āϛ⧇āĨ¤

[ā§Š.⧍.ā§Ē] āĻŽā§‡āĻĨāĻĄ āĻāϰ āϏāĻžāĻĨ⧇ Pointer āĻāĻŦāĻ‚ value āϰāĻŋāϏāĻŋāĻ­āĻžāϰ⧇āϰ āĻŦā§āϝāĻŦāĻšāĻžāϰ

Go āĻŽā§‡āĻĨāĻĄ āĻĒā§Ÿā§‡āĻ¨ā§āϟāĻžāϰ āĻāĻŦāĻ‚ āĻ­ā§āϝāĻžāϞ⧁ āωāϭ⧟ āϰāĻŋāϏāĻŋāĻ­āĻžāϰ⧇āχ āĻ•āĻžāϜ āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇āĨ¤ Go āϤ⧇ āĻĒā§Ÿā§‡āĻ¨ā§āϟāĻžāϰ āĻ­ā§āϝāĻžāϰāĻŋā§Ÿā§‡āĻŦāϞ āϏ⧇āχ āĻ­ā§āϝāĻžāϰāĻŋā§Ÿā§‡āĻŦāϞ⧇āϰ āĻŽā§‡āĻŽā§‹āϰāĻŋ āĻ…ā§āϝāĻžāĻĄā§āϰ⧇āϏ āĻˇā§āĻŸā§‹āϰ āĻ•āϰ⧇ āϰāĻžāϖ⧇ āϤāĻžāϰāĻĒāϰ āϏ⧇āχ āĻ­ā§āϝāĻžāϰāĻŋā§Ÿā§‡āĻŦāϞ āύāĻŋā§Ÿā§‡ āĻ•āĻžāϜ āĻ•āϰ⧇āĨ¤Â 

Go āϤ⧇ āϝāĻ–āύ āĻĒāĻžāϏ āĻŦāĻžāχ āĻ­ā§āϝāĻžāϞ⧁ āĻĒāĻžāĻ āĻžāύ⧋ āĻšā§Ÿ āĻāϰ āĻ…āĻ°ā§āĻĨ āĻĻāĻžāρ⧜āĻžā§Ÿ, āĻ­ā§āϝāĻžāϰāĻŋā§Ÿā§‡āĻŦāϞ⧇āϰ āĻāĻ•āϟāĻž āĻ•āĻĒāĻŋ āĻĒāĻžāϏ āĻ•āϰāĻž āĻšāĻšā§āϛ⧇āĨ¤ āϝāĻĻāĻŋ āφāĻŽāϰāĻžÂ  āϏ⧇āχ āĻ­ā§āϝāĻžāϰāĻŋā§Ÿā§‡āĻŦāϞ⧇āϰ āĻŽāĻžāύ āĻĒāϰāĻŋāĻŦāĻ°ā§āϤāύ āĻ•āϰāĻŋ āϤāĻžāĻšāϞ⧇ āϝ⧇āĻ–āĻžāύ āĻĨ⧇āϕ⧇ āĻ­ā§āϝāĻžāϰāĻŋā§Ÿā§‡āĻŦāϞāϟāĻŋ āĻĒāĻžāϏ āĻ•āϰāĻž āĻšā§Ÿā§‡āϛ⧇, āϤāĻžāϰ āĻŽāĻžāύ⧇āϰ āϕ⧋āύ āĻĒāϰāĻŋāĻŦāĻ°ā§āϤāύ āĻšāĻŦ⧇ āύāĻžāĨ¤Â 

āϝāĻĻāĻŋ āĻĒāĻžāϏ āĻ•āϰāĻž āĻ­ā§āϝāĻžāϰāĻŋā§Ÿā§‡āĻŦāϞ⧇āϰ āĻŽāĻžāύ⧇āϰ āĻĒāϰāĻŋāĻŦāĻ°ā§āϤāύ⧇āϰ āϏāĻžāĻĨ⧇ āϏāĻžāĻĨ⧇ āϝ⧇ āϜāĻžā§ŸāĻ—āĻž āĻĨ⧇āϕ⧇ āĻ­ā§āϝāĻžāϰāĻŋā§Ÿā§‡āĻŦāϞāϟāĻŋ āĻĒāĻžāϏ āĻ•āϰāĻž āĻšā§Ÿā§‡āϛ⧇, āϏ⧇āĻ–āĻžāύ⧇āĻ“ āĻŽāĻžāύ āφāĻĒāĻĄā§‡āϟ āĻ•āϰ⧇ āĻĻāĻŋāϤ⧇ āϚāĻžāχ, āϤāĻžāĻšāϞ⧇ āĻĒā§Ÿā§‡āĻ¨ā§āϟāĻžāϰ āϰāĻŋāϏāĻŋāĻ­āĻžāϰ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāϤ⧇ āĻšāĻŦ⧇āĨ¤ āĻ•āĻžāϰāύ āĻĒā§Ÿā§‡āĻ¨ā§āϟāĻžāϰ āϏ⧇āχ āĻ­ā§āϝāĻžāϰāĻŋā§Ÿā§‡āĻŦāϞ⧇āϰ āĻ•āĻĒāĻŋ āĻĒāĻžāϏ āĻ•āϰ⧇ āύāĻž āĻŦāϰāĻ‚ āϏ⧇ āĻ­ā§āϝāĻžāϰāĻŋā§Ÿā§‡āĻŦāϞ⧇āϰ āĻŽā§‡āĻŽā§‹āϰāĻŋ āĻ…ā§āϝāĻžāĻĄā§āϰ⧇āϏ āĻĒāĻžāϏ āĻ•āϰ⧇, āϤāĻžāχ āϏ⧇āχ āĻ­ā§āϝāĻžāϰāĻŋā§Ÿā§‡āĻŦāϞ⧇āϰ āĻŽāĻžāύ⧇āϰ āϕ⧋āύ āĻĒāϰāĻŋāĻŦāĻ°ā§āϤāύ āĻ•āϰāϞ⧇ āωāĻ•ā§āϤ āĻ…ā§āϝāĻžāĻĄā§āϰ⧇āϏ⧇āĻ“ āĻŽāĻžāύ⧇āϰāĻ“ āĻĒāϰāĻŋāĻŦāĻ°ā§āϤāύ āĻšā§Ÿā§‡ āϝāĻžā§ŸāĨ¤

[ā§Š.⧍.⧍] āĻāϰ āωāĻĻāĻžāĻšāϰāĻŖāϟāĻž āφāĻŦāĻžāϰāĻ“ āĻĻ⧇āĻ–āĻž āϝāĻžāĻ• – 

				
					

   package main

   import "fmt"

   type User struct {
       Name  string
       Email string
   }

   func (u User) userDetails() string {
       return fmt.Sprintf("User name is :%s and email is: %s", u.Name, u.Email)
   }

   func (u *User) changeDetails(newName, newEmail string) {
       u.Name = newName
       u.Email = newEmail
   }

   func main() {
       user1 := User{Name: "John Doe", Email: "johndoe@Golinuxcloud.com"}
       fmt.Println(user1.userDetails())
       user1.changeDetails("Mary Doe", "marydoe@Golinuxcloud.com")
       fmt.Println(user1.userDetails())
   }

   // Output :
   // User name is :John Doe and email is: johndoe@Golinuxcloud.com
   // User name is :Mary Doe and email is: marydoe@Golinuxcloud.com

				
			

āωāĻĒāϰ⧇āϰ āωāĻĻāĻžāĻšāϰāϪ⧇, [ā§Š.⧍.⧍] āĻāϰ āωāĻĻāĻžāĻšāϰāϪ⧇āϰ āϏāĻžāĻĨ⧇ āĻļ⧁āϧ⧁ pointer āϰāĻŋāϏāĻŋāĻ­āĻžāϰ āϟāĻžāχāĻĒ⧇āϰ āϏāĻžāĻĨ⧇ changeDetails() āĻŽā§‡āĻĨāĻĄ āĻāĻĄ āĻ•āϰāĻž āĻšā§Ÿā§‡āϛ⧇āĨ¤ āϝāĻžāϰ āĻŽāĻžāĻ§ā§āϝāĻŽā§‡ user āĻāϰ āĻĄāĻŋāĻŸā§‡āχāϞāϏ āĻĒāϰāĻŋāĻŦāĻ°ā§āϤāύ āĻ•āϰāĻž āĻšā§Ÿā§‡āϛ⧇āĨ¤