[ā§¨.ā§Ļ] āĻĢāĻžāĻāĻļāĻ¨ āĻāĻŦāĻ āĻĒā§āĻ¯āĻžāĻā§āĻ ( Functions and Packages )
āĻāĻ¤āĻā§āĻˇāĻŖā§ āĻāĻŽāĻ°āĻž Go āĻāĻ° āĻŽā§āĻ˛āĻŋāĻ āĻ¸āĻŋāĻ¨āĻā§āĻ¯āĻžāĻā§āĻ¸āĻā§āĻ˛ā§, āĻĄāĻžāĻāĻž āĻāĻžāĻāĻĒ, āĻāĻ¨ā§āĻĄāĻŋāĻļāĻ¨ āĻāĻŦāĻ āĻ˛ā§āĻĒ āĻļāĻŋāĻā§ āĻĢā§āĻ˛ā§āĻāĻŋāĨ¤ āĻāĻāĻ¨ āĻāĻŽāĻ°āĻž āĻāĻā§āĻ˛ā§ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦā§ āĻĒā§āĻ°ā§ā§āĻ āĻāĻ°āĻŦ āĨ¤ āĻ§āĻ°āĻŋ āĻāĻŽāĻžāĻĻā§āĻ° āĻāĻāĻāĻŋ āĻĻā§āĻāĻžāĻ¨ āĻāĻā§ āĻ¯ā§āĻāĻžāĻ¨ā§ āĻāĻžāĻ¸ā§āĻāĻŽāĻžāĻ° āĻĒā§āĻ°āĻ¤āĻŋāĻāĻž āĻĒā§āĻ°ā§āĻĄāĻžāĻā§āĻā§ āĻāĻŋāĻā§ āĻāĻžā§ āĻĒāĻžāĻŦā§, āĻ¯āĻĻāĻŋ āĻ¸ā§ āĻ āĻĒāĻŖā§āĻ¯ā§ āĻŦā§āĻļāĻŋ āĻĒāĻ°āĻŋāĻŽāĻžāĻ¨ āĻ āĻ°ā§āĻĨ āĻŦā§āĻ¯ā§ āĻāĻ°ā§ āĨ¤ āĻ§āĻ°āĻŋ āĻā§āĻ āĻā§āĻ¨ āĻāĻāĻāĻž āĻĒā§āĻ°ā§āĻĄāĻžāĻā§āĻā§ ā§§ā§Ļā§Ļā§Ļ āĻāĻ° āĻŦā§āĻļāĻŋ āĻŦā§āĻ¯ā§ āĻāĻ°ā§āĻā§ āĻ¤āĻžāĻšāĻ˛ā§ āĻ¸ā§ āĻāĻ āĻĒā§āĻ°ā§āĻĄāĻžāĻā§āĻā§ ā§Ģ% āĻĄāĻŋāĻ¸āĻāĻžāĻāĻ¨ā§āĻ āĻĒāĻžāĻŦā§ āĨ¤ āĻ¤āĻžāĻšāĻ˛ā§ āĻĒā§āĻ°āĻĨāĻŽā§ āĻāĻ āĻĒā§āĻ°ā§āĻĄāĻžāĻā§āĻā§āĻ° āĻŽā§āĻ˛ā§āĻ¯ āĻāĻŦāĻ āĻāĻžāĻ¸ā§āĻāĻŽāĻžāĻ° āĻāĻ¯āĻŧāĻāĻŋ āĻĒā§āĻ°ā§āĻĄāĻžāĻā§āĻ āĻāĻŋāĻ¨ā§āĻā§ āĻ¸ā§āĻāĻž āĻĨā§āĻā§ āĻĒā§āĻ°ā§āĻĄāĻžāĻā§āĻā§āĻ° āĻŽā§āĻ āĻŽā§āĻ˛ā§āĻ¯ āĻŦā§āĻ° āĻāĻ°āĻ¤ā§ āĻšāĻŦā§ āĻāĻŦāĻ āĻ¯āĻĻāĻŋ āĻ¤āĻž āĻāĻ āĻšāĻžāĻāĻžāĻ°ā§āĻ° āĻŦā§āĻļāĻŋ āĻšāĻ¯āĻŧ āĻ¤āĻžāĻšāĻ˛ā§ āĻāĻŽāĻ°āĻž āĻ¤āĻžāĻĻā§āĻ° āĻāĻ āĻĒā§āĻ°ā§āĻĄāĻžāĻā§āĻā§ ā§Ģ% āĻĄāĻŋāĻ¸āĻāĻžāĻāĻ¨ā§āĻ āĻĻāĻŋāĻŦāĨ¤Â āĻ¤āĻžāĻšāĻ˛ā§ āĻā§āĻĄāĻāĻž āĻĻā§āĻā§ āĻ¨ā§āĻ –
package main
import "fmt"
func main() {
var discount float64 = 0.95
var price, total float64
var count int
price = 152.50
count = 3
total = price * float64(count)
if total > 1000.0 {
total *= discount
}
fmt.Println("Total payable: ", total)
price = 1500.00
count = 7
total = price * float64(count)
if total > 1000.0 {
total *= discount
}
fmt.Println("Total payable: ", total)
}
āĻāĻāĻāĻĒā§āĻ –
Total payable: 457.5
Total payable: 9975
āĻāĻāĻžāĻ¨ā§ āĻāĻāĻāĻ¨ ā§§ā§Ģā§¨.ā§Ģā§Ļ āĻāĻžāĻāĻžāĻ° āĻ¤āĻŋāĻ¨āĻāĻŋ āĻĒā§āĻ°ā§āĻĄāĻžāĻā§āĻ āĻāĻŋāĻ¨ā§āĻā§āĨ¤ āĻāĻŽāĻ°āĻž āĻŽā§āĻ āĻŽā§āĻ˛ā§āĻ¯ āĻŦā§āĻ° āĻāĻ°āĻŦāĨ¤ āĻ¯ā§āĻšā§āĻ¤ā§ āĻāĻāĻžāĻ¨ā§ count āĻšāĻ˛ āĻāĻ¨ā§āĻāĻŋāĻāĻžāĻ° āĻāĻŦāĻ price āĻāĻ° āĻĄāĻžāĻāĻž āĻāĻžāĻāĻĒ float64 āĻ¤āĻžāĻ āĻā§āĻ¨ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻŽāĻžāĻĻā§āĻ°āĻā§ count āĻā§ float64 āĻ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻ°ā§ āĻ¨āĻŋāĻ¤ā§ āĻšāĻŦā§ āĨ¤ āĻāĻ° āĻĒāĻ°ā§ āĻāĻŽāĻ°āĻž āĻā§āĻ āĻāĻ°āĻŦ āĻ¯āĻĻāĻŋ āĻŽā§āĻ āĻŽā§āĻ˛ā§āĻ¯ ā§§ā§Ļā§Ļā§Ļ āĻŦā§āĻļāĻŋ āĻšāĻ¯āĻŧ āĻ¤āĻžāĻšāĻ˛ā§ āĻ¤āĻžāĻ° āĻāĻĒāĻ° āĻāĻŽāĻ°āĻž 5% āĻĄāĻŋāĻ¸āĻāĻžāĻāĻ¨ā§āĻ āĻĻāĻŋāĻŦ āĻ āĻ°ā§āĻĨāĻžā§ 0.95 āĻĻāĻŋāĻ¯āĻŧā§ āĻā§āĻ¨ āĻĻā§āĻŦā§ āĨ¤ āĻāĻ°āĻĒāĻ° āĻ¸ā§āĻāĻž āĻāĻŽāĻ°āĻž āĻĒā§āĻ°āĻŋāĻ¨ā§āĻ āĻāĻ°āĻŦ āĨ¤Â
āĻ§āĻ°āĻŋ āĻ¸ā§ āĻāĻ°ā§āĻāĻāĻŋ āĻĒā§āĻ°ā§āĻĄāĻžāĻā§āĻ āĻāĻŋāĻ¨āĻ˛ā§ ā§§ā§Ģā§Ļā§Ļ āĻāĻžāĻāĻžāĻ° āĻāĻŦāĻ count āĻšāĻ˛ 7 āĻ¤āĻžāĻšāĻ˛ā§ āĻāĻāĻ āĻāĻžāĻŦā§ āĻāĻŽāĻ°āĻžÂ total payable āĻŦā§āĻ° āĻāĻ°āĻŦā§ āĨ¤Â
āĻāĻŽāĻžāĻĻā§āĻ° āĻā§āĻĄ āĻ¸ā§āĻ¨ā§āĻĻāĻ°āĻāĻžāĻŦā§ āĻāĻžāĻ āĻāĻ°ā§ āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻāĻāĻžāĻ¨ā§ āĻāĻāĻāĻž āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻāĻā§ āĨ¤ āĻ¸ā§āĻāĻž āĻšāĻ˛ā§ āĻāĻāĻžāĻ¨ā§ āĻ āĻ¨ā§āĻāĻāĻžāĻ¨āĻŋ āĻā§āĻĄ āĻĄā§āĻĒā§āĻ˛āĻŋāĻā§āĻ āĻšāĻ¯āĻŧā§āĻā§ āĻāĻŦāĻ āĻāĻāĻžāĻ° āĻ āĻŦāĻ¸ā§āĻĨāĻž āĻāĻ°ā§ āĻāĻāĻŋāĻ˛ āĻšāĻŦā§ āĻ¯āĻāĻ¨ āĻā§āĻ āĻāĻ°ā§ āĻŦā§āĻļāĻŋ āĻĒā§āĻ°ā§āĻĄāĻžāĻā§āĻ āĻāĻŋāĻ¨ā§āĨ¤
āĻāĻ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĻāĻž āĻāĻŽāĻ°āĻž āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°āĻŋ āĻĢāĻžāĻāĻļāĻ¨ āĻĻāĻŋāĻ¯āĻŧā§ āĨ¤ āĻ¤āĻžāĻšāĻ˛ā§ āĻĻā§āĻā§ āĻāĻ¸āĻŋ āĻāĻ āĻĢāĻžāĻāĻļāĻ¨ āĻāĻŋāĻ¨āĻŋāĻ¸āĻāĻž āĻāĻŋ âĻ
[ā§¨.ā§§] āĻĢāĻžāĻāĻļāĻ¨ ( Functions )
āĻ¸āĻšāĻ āĻāĻžāĻˇāĻžāĻ¯āĻŧ āĻĢāĻžāĻāĻļāĻ¨ āĻšāĻ˛ āĻāĻŋāĻā§ āĻā§āĻĄ āĻŦāĻž āĻ āĻĒāĻžāĻ°ā§āĻļāĻ¨ā§āĻ° āĻ¸āĻŽāĻˇā§āĻāĻŋ, āĻ¯āĻž āĻā§āĻ¨ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻāĻžāĻ āĻ¸āĻŽā§āĻĒāĻ¨ā§āĻ¨ āĻāĻ°ā§ āĻāĻžāĻšāĻŋāĻĻāĻžāĻŽāĻ¤ā§ āĻ°ā§āĻāĻžāĻ˛ā§āĻ āĻ°āĻŋāĻāĻžāĻ°ā§āĻ¨ āĻāĻ°ā§ āĻāĻŦāĻ āĻāĻ āĻā§āĻĄ āĻŦā§āĻ˛āĻāĻāĻŋ āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽā§āĻ° āĻāĻ° āĻŦāĻŋāĻāĻŋāĻ¨ā§āĻ¨ āĻāĻžāĻ¯āĻŧāĻāĻž āĻĨā§āĻā§ āĻāĻ˛ āĻāĻ°āĻž āĻ¯āĻžā§āĨ¤ āĻĒā§āĻ°āĻžā§ āĻ¸āĻŦ āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽāĻŋāĻ āĻ˛ā§āĻ¯āĻžāĻā§āĻā§āĻ¯āĻŧā§āĻ āĻāĻ° āĻŽāĻ¤āĻ, Go āĻ¤ā§āĻ āĻĢāĻžāĻāĻļāĻ¨ āĻāĻā§ āĻāĻŦāĻ āĻāĻŽāĻ°āĻž āĻāĻ¤āĻā§āĻˇāĻ¨ āĻ¨āĻž āĻā§āĻ¨ā§āĻ āĻ āĻ¨ā§āĻ āĻĢāĻžāĻāĻļāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻāĻ¸āĻāĻŋ āĻ¯ā§āĻŽāĻ¨ Println, āĻ¯āĻž fmt āĻĒā§āĻ¯āĻžāĻā§āĻā§āĻ° āĻāĻāĻāĻŋ āĻĢāĻžāĻāĻļāĻ¨ āĨ¤
āĻāĻāĻ¨ āĻāĻŽāĻ°āĻž āĻāĻŋāĻāĻžāĻŦā§ āĻĢāĻžāĻāĻļāĻ¨ āĻ˛āĻŋāĻāĻ¤ā§ āĻšāĻ¯āĻŧ āĻ¸ā§āĻāĻž āĻļāĻŋāĻāĻŦ āĨ¤ āĻāĻāĻāĻž āĻ¸āĻŋāĻŽā§āĻĒāĻ˛ āĻĢāĻžāĻāĻļāĻ¨ āĻĻā§āĻāĻ¤ā§ āĻ āĻ¨ā§āĻāĻāĻž āĻāĻ°āĻāĻŽ āĻšāĻ¯āĻŧ –
- āĻāĻāĻāĻŋ āĻĢāĻžāĻāĻļāĻ¨ā§āĻ° āĻļā§āĻ°ā§āĻ¤ā§ func āĻāĻŋāĻāĻ¯āĻŧāĻžāĻ°ā§āĻĄ āĻĨāĻžāĻāĻŦā§ āĨ¤
- āĻāĻ°āĻĒāĻ°ā§ āĻĢāĻžāĻāĻļāĻ¨ āĻāĻ° āĻ¨āĻžāĻŽ āĨ¤
- āĻ¤āĻžāĻ°āĻĒāĻ° āĻĢāĻžāĻ¸ā§āĻ āĻŦā§āĻ°ā§āĻ¯āĻžāĻā§āĻ āĻĨāĻžāĻā§ āĻ¯ā§āĻāĻžāĻ¨ā§ āĻāĻ°ā§āĻā§āĻŽā§āĻ¨ā§āĻ āĻĨāĻžāĻāĻ¤ā§ āĻĒāĻžāĻ°ā§ āĻ¯āĻž āĻāĻŽāĻ°āĻž āĻāĻāĻā§ āĻĒāĻ°ā§ āĻļāĻŋāĻāĻŦāĨ¤
- āĻāĻ° āĻĒāĻ°ā§ āĻĢāĻžāĻāĻļāĻ¨ āĻāĻ° āĻŦā§āĻ˛āĻ āĻĨāĻžāĻā§ āĻ¯ā§āĻāĻžāĻ¨ā§ āĻāĻŽāĻ°āĻž āĻā§āĻĄ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°āĻŋ āĨ¤ āĻāĻāĻāĻŋ āĻĢāĻžāĻāĻļāĻ¨ā§āĻ° āĻŦā§āĻ˛āĻ āĻļā§āĻ°ā§ āĻāĻŦāĻ āĻļā§āĻˇ āĻšāĻ¯āĻŧ āĻ¸ā§āĻā§āĻ¨ā§āĻĄ āĻŦā§āĻ°ā§āĻ¯āĻžāĻā§āĻ āĻĻāĻŋāĻ¯āĻŧā§ āĨ¤
Â
āĻĢāĻžāĻāĻļāĻ¨ āĻĄāĻŋāĻā§āĻ˛ā§āĻ¯āĻŧāĻžāĻ° āĻāĻ°āĻžāĻ° āĻĒāĻ°ā§ āĻāĻŽāĻ°āĻž āĻĒā§āĻ¯āĻžāĻā§āĻā§āĻ° āĻ āĻ¨ā§āĻ¯ āĻ¯ā§āĻā§āĻ¨ā§ āĻāĻžā§āĻāĻž āĻĨā§āĻā§ āĻĢāĻžāĻāĻļāĻ¨ āĻāĻ° āĻ¨āĻžāĻŽ āĻāĻŦāĻ āĻĢāĻžāĻ¸ā§āĻ āĻŦā§āĻ°ā§āĻ¯āĻžāĻā§āĻ āĻĻāĻŋāĻ¯āĻŧā§ āĻĢāĻžāĻāĻļāĻ¨āĻāĻž āĻāĻ˛ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°āĻŋ āĻŦāĻž āĻāĻ° āĻā§āĻ¤āĻ°ā§āĻ° āĻā§āĻĄ āĻ°āĻžāĻ¨ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°āĻŋÂ –Â
package main
import "fmt"
func Hello() {
fmt.Println("Hola!")
}
func main() {
Hello() //Hello function called and prints âHola!â in console
}
āĻāĻāĻžāĻ¨ā§ Hello āĻĢāĻžāĻāĻļāĻ¨āĻā§ āĻāĻ˛ āĻāĻ°āĻž āĻšā§ā§āĻā§ āĻ¤āĻžāĻ âHolaâ āĻĒā§āĻ°āĻŋāĻ¨ā§āĻ āĻšāĻŦā§ āĨ¤Â
- Go āĻ¤ā§ āĻ ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸ āĻŽāĻĄāĻŋāĻĢāĻžā§āĻžāĻ°āĻ āĻ āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻ āĻ¨ā§āĻ āĻ˛ā§āĻ¯āĻžāĻā§āĻā§āĻ¯āĻŧā§āĻā§ āĻ ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸ āĻŽā§āĻĄāĻŋāĻĢāĻžāĻ¯āĻŧāĻžāĻ° āĻĨāĻžāĻā§ āĻ¯ā§āĻāĻž āĻā§āĻ¨ āĻĢāĻžāĻāĻļāĻ¨ āĻĒā§āĻ°āĻžāĻāĻā§āĻ āĻ¨āĻžāĻāĻŋ āĻĒāĻžāĻŦāĻ˛āĻŋāĻ āĻāĻāĻž āĻŦā§āĻāĻžāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻŦā§āĻ¯āĻŦāĻšā§āĻ¤ āĻšāĻ¯āĻŧāĨ¤Â Go āĻ¤ā§ āĻ ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸ āĻŽāĻĄāĻŋāĻĢāĻžāĻ¯āĻŧāĻžāĻ° āĻāĻ° āĻāĻžāĻāĻāĻž āĻšāĻ¯āĻŧ āĻĢāĻžāĻāĻļāĻ¨ā§āĻ° āĻĒā§āĻ°āĻĨāĻŽ āĻ āĻā§āĻˇāĻ°ā§āĻ° āĻāĻĒāĻ° āĻāĻŋāĻ¤ā§āĻ¤āĻŋ āĻāĻ°ā§ āĨ¤ āĻā§āĻ¨ āĻĢāĻžāĻāĻļāĻ¨ā§āĻ° āĻĒā§āĻ°āĻĨāĻŽ āĻ āĻā§āĻˇāĻ° āĻ¯āĻĻāĻŋ āĻā§āĻ¯āĻžāĻĒāĻŋāĻāĻžāĻ˛ āĻŦāĻžÂ āĻŦāĻĄāĻŧ āĻšāĻžāĻ¤ā§āĻ° āĻ āĻā§āĻˇāĻ° āĻšāĻ¯āĻŧ āĻ¤āĻžāĻšāĻ˛ā§ āĻ¸ā§āĻāĻž āĻĒāĻžāĻŦāĻ˛āĻŋāĻ āĻŦāĻž exported āĻāĻŦāĻ āĻā§āĻ āĻšāĻžāĻ¤ā§āĻ° āĻ āĻā§āĻˇāĻ° āĻšāĻ˛ā§ āĻ¸ā§āĻāĻž āĻĒā§āĻ°āĻžāĻāĻā§āĻ āĨ¤ āĻĒā§āĻ°āĻžāĻāĻā§āĻ āĻĢāĻžāĻāĻļāĻ¨ āĻāĻ āĻĒā§āĻ¯āĻžāĻā§āĻ āĻŦāĻž āĻĢā§āĻ˛ā§āĻĄāĻžāĻ°ā§āĻ° āĻŦāĻžāĻāĻ°ā§ āĻ ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸ āĻāĻ°āĻž āĻ¯āĻžāĻ¯āĻŧ āĻ¨āĻž āĻ¤āĻžāĻ āĻ¯āĻĻāĻŋ āĻāĻŽāĻ°āĻžÂ āĻā§āĻ¨ āĻĢāĻžāĻāĻļāĻ¨ āĻā§ āĻ āĻ¨ā§āĻ¯ āĻĒā§āĻ¯āĻžāĻā§āĻā§Â āĻŦā§āĻ¯āĻžāĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻāĻžāĻ āĻ¤āĻžāĻšāĻ˛ā§ āĻ¤āĻžāĻ° āĻĒā§āĻ°āĻĨāĻŽ āĻ āĻā§āĻˇāĻ° āĻ āĻŦāĻļā§āĻ¯āĻ āĻŦāĻĄāĻŧ āĻšāĻžāĻ¤ā§āĻ° āĻ āĻā§āĻˇāĻ° āĻšāĻ¤ā§ āĻšāĻŦā§Â āĨ¤ āĻ¯ā§āĻŽāĻ¨ Println āĻĢāĻžāĻāĻļāĻ¨ā§āĻ° āĻĒā§āĻ°āĻĨāĻŽ āĻ āĻā§āĻˇāĻ° āĻā§āĻ¯āĻžāĻĒāĻŋāĻāĻžāĻ˛ āĻšāĻāĻ¯āĻŧāĻžāĻ° āĻāĻžāĻ°āĻ¨ā§āĻ āĻāĻŽāĻ°āĻž āĻ¯ā§ āĻā§āĻ¨ āĻāĻžāĻ¯āĻŧāĻāĻž āĻĨā§āĻā§ Println āĻāĻ˛ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°āĻŋ āĨ¤ āĻĒā§āĻ¯āĻžāĻā§āĻ āĻ¨āĻŋā§ā§ āĻĒāĻ°ā§ āĻāĻŽāĻ°āĻž āĻāĻ°ā§ āĻŦāĻŋāĻ¸ā§āĻ¤āĻžāĻ°āĻŋāĻ¤ āĻāĻžāĻŦā§ āĻāĻžāĻ¨āĻŦ āĨ¤Â
Â
- āĻĢāĻžāĻāĻļāĻ¨ā§ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻāĻžāĻ° āĻĒāĻžāĻ¸ āĻāĻ°āĻžāĻ āĻāĻŽāĻ°āĻž āĻāĻžāĻāĻ˛ā§ āĻĢāĻžāĻāĻļāĻ¨ā§ āĻāĻ āĻŦāĻžÂ āĻāĻāĻžāĻ§āĻŋāĻ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻāĻžāĻ° āĻĒāĻžāĻ¸ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°āĻŋ āĨ¤ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻāĻžāĻ°āĻā§āĻ˛ā§ āĻāĻ āĻĢāĻžāĻāĻļāĻ¨ā§āĻ° āĻ˛ā§āĻāĻžāĻ˛ āĻā§āĻ¯āĻžāĻ°āĻŋā§ā§āĻŦāĻ˛ā§āĻ° āĻŽāĻ¤ āĻāĻžāĻ āĻāĻ°ā§ āĻāĻŦāĻ āĻ¤āĻžāĻĻā§āĻ° āĻā§āĻ¯āĻžāĻ˛ā§ āĻ¸ā§āĻ āĻšāĻ¯āĻŧ āĻ¯āĻāĻ¨ āĻāĻŽāĻ°āĻž āĻ¸ā§āĻ āĻĢāĻžāĻāĻļāĻ¨ āĻāĻ˛ āĻāĻ°āĻŋ āĨ¤ āĻĢāĻžāĻāĻļāĻ¨ āĻĄāĻŋāĻā§āĻ˛ā§āĻ¯āĻŧāĻžāĻ° āĻāĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻĢāĻžāĻāĻļāĻ¨ā§āĻ° āĻĒā§āĻ°āĻĨāĻŽ āĻŦā§āĻ°ā§āĻ¯āĻžāĻā§āĻā§āĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻāĻŽāĻ°āĻž āĻāĻŽāĻžÂ āĻĻāĻŋā§ā§ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻāĻžāĻ° āĻā§āĻ˛ā§ āĻĄāĻŋāĻā§āĻ˛ā§āĻ¯āĻŧāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°āĻŋ āĻāĻŦāĻ āĻ āĻŦāĻļā§āĻ¯āĻ āĻĒā§āĻ°āĻ¤ā§āĻ¯ā§āĻāĻāĻž āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻāĻžāĻ°ā§āĻ° āĻ¨āĻžāĻŽā§āĻ° āĻĒāĻ°ā§ āĻ¤āĻžāĻ° āĻĄāĻžāĻāĻž āĻāĻžāĻāĻĒ (int, bool etc) āĻāĻ˛ā§āĻ˛ā§āĻ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§ āĨ¤ āĻĢāĻžāĻāĻļāĻ¨āĻāĻŋ āĻāĻ˛ āĻāĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻāĻ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻāĻžāĻ°āĻā§āĻ˛ā§ āĻāĻāĻ āĻā§āĻ°āĻŽā§ āĻ¸āĻžāĻāĻŋā§ā§ āĻĒāĻžāĻ¸ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§Â –
package main
import "fmt"
func Repeat(text string, times int) {
for i := 0; i < times; i++ {
fmt.Println(text)
}
}
func main() {
Repeat("Hola", 5) //prints Hola 5 times
}
āĻāĻ āĻĢāĻžāĻāĻļāĻ¨ā§ āĻāĻŽāĻžāĻĻā§āĻ° āĻĻā§āĻāĻāĻŋ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻāĻžāĻ° āĻāĻā§, āĻāĻāĻāĻŋ string āĻāĻžāĻāĻĒā§āĻ° āĻāĻŦāĻ āĻāĻāĻāĻŋ āĻāĻ¨ā§āĻāĻŋāĻāĻžāĻ° āĻāĻžāĻāĻĒā§āĻ° āĨ¤ āĻ¤āĻžāĻ main āĻĢāĻžāĻāĻļāĻ¨ āĻĨā§āĻā§ āĻāĻ Repeat āĻĢāĻžāĻāĻļāĻ¨ āĻāĻ˛ āĻāĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻāĻŽāĻžāĻĻā§āĻ° ā§¨āĻāĻŋ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻāĻžāĻ° āĻĻāĻŋāĻ¤ā§ āĻšāĻŦā§,āĻ¯āĻĻāĻŋ āĻāĻāĻāĻŋ string āĻāĻŦāĻ āĻ āĻ¨ā§āĻ¯āĻāĻŋ āĻāĻ¨ā§āĻāĻŋāĻāĻžāĻ° āĻ¤āĻžāĻšāĻ˛ā§ āĻĢāĻžāĻāĻļāĻ¨ā§āĻ° āĻā§āĻ¤āĻ°ā§āĻ° āĻā§āĻĄ āĻāĻā§āĻ¸āĻŋāĻāĻŋāĻāĻ āĻšāĻŦā§ āĨ¤ āĻāĻā§āĻˇā§āĻ¤ā§āĻ°ā§ Hola āĻĒāĻžāĻāĻāĻŦāĻžāĻ° āĻĒā§āĻ°āĻŋāĻ¨ā§āĻ āĻšāĻŦā§ āĨ¤
āĻāĻ˛ā§āĻ¨ āĻāĻāĻ¨ āĻ¤āĻžāĻšāĻ˛ā§ āĻāĻŽāĻ°āĻž āĻāĻŽāĻžāĻĻā§āĻ° āĻāĻā§āĻ° āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽāĻāĻžāĻ¯āĻŧ āĻĢāĻžāĻāĻļāĻ¨ āĻ ā§āĻ¯āĻžāĻĄ āĻāĻ°āĻŋ –
package main
import "fmt"
func main() {
CalculatePayable(152.50, 3) //called function
CalculatePayable(1500, 7)
}
// Function Name start with uppercase means public function
// CalculatePayable calculate the total payable bill
func CalculatePayable(price float64, count int) {
var discount float64 = 0.95
total := price * float64(count)
if total > 1000.0 {
total *= discount
}
fmt.Println("Total payable: ", total)
}
āĻāĻāĻāĻĒā§āĻ –
Total payable: 457.5
Total payable: 9975
āĻāĻāĻ¨ āĻāĻŽāĻžāĻĻā§āĻ° āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽāĻāĻž āĻāĻā§āĻ° āĻĨā§āĻā§ āĻā§āĻāĻžāĻ¨ā§ āĻ āĻ¸āĻŋāĻŽā§āĻĒāĻ˛ āĻšāĻ¯āĻŧā§āĻā§ āĻāĻŦāĻ āĻāĻāĻžāĻ¨ā§ āĻā§āĻ¨ āĻĄā§āĻĒā§āĻ˛āĻŋāĻā§āĻ āĻā§āĻĄāĻ āĻ¨āĻžāĻ āĨ¤ āĻāĻāĻ¨ āĻ¸ā§āĻ āĻāĻžāĻ¸ā§āĻāĻŽāĻžāĻ° āĻ¯āĻĻāĻŋ āĻāĻ°ā§ āĻĒā§āĻ°ā§āĻĄāĻžāĻā§āĻ āĻā§āĻ°āĻ¯āĻŧ āĻāĻ°ā§ āĻ¤āĻžāĻšāĻ˛ā§ āĻāĻŽāĻ°āĻž āĻāĻ āĻĢāĻžāĻāĻļāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻ¸āĻšāĻā§āĻ āĻ¤āĻžāĻ° total payable āĻŦā§āĻ° āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°āĻŦā§ āĨ¤
[ā§¨.ā§§.ā§§] āĻĢāĻžāĻāĻļāĻ¨ āĻĨā§āĻā§ āĻāĻ āĻŦāĻž āĻāĻāĻžāĻ§āĻŋāĻ āĻā§āĻ¯āĻžāĻ˛ā§ āĻ°āĻŋāĻāĻžāĻ°ā§āĻ¨
āĻāĻāĻžāĻ¨ā§ āĻāĻŽāĻžāĻĻā§āĻ° āĻāĻ āĻĢāĻžāĻāĻļāĻ¨āĻāĻž total āĻā§āĻ¯āĻžāĻ˛ā§ print āĻāĻ°ā§ āĻĻā§āĻ¯āĻŧ āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻāĻ total āĻā§āĻ¯āĻžāĻ°āĻŋā§ā§āĻŦāĻ˛ āĻāĻž āĻĢāĻžāĻāĻļāĻ¨ā§āĻ° āĻŦā§āĻ˛āĻā§ āĻĨāĻžāĻāĻžāĻ° āĻāĻžāĻ°āĻ¨ā§ āĻĢāĻžāĻāĻļāĻ¨ā§āĻ° āĻŦāĻžāĻāĻ°ā§ āĻāĻ āĻā§āĻ¯āĻžāĻ°āĻŋā§ā§āĻŦāĻ˛ā§āĻ° āĻā§āĻ¯āĻžāĻ˛ā§ āĻāĻŽāĻ°āĻž āĻĒāĻžāĻ āĻ¨āĻž āĨ¤ āĻ¤āĻžāĻšāĻ˛ā§ āĻāĻŋāĻāĻžāĻŦā§ āĻāĻŽāĻ°āĻž āĻ¸ā§āĻ āĻā§āĻ¯āĻžāĻ˛ā§ āĻĒā§āĻ¤ā§ āĻĒāĻžāĻ°āĻŋ ?
āĻāĻāĻāĻŋ āĻĢāĻžāĻāĻļāĻ¨ āĻ¯ā§ āĻā§āĻ¨ āĻāĻžāĻāĻĒā§āĻ° āĻā§āĻ¯āĻžāĻ˛ā§ āĻ°āĻŋāĻāĻžāĻ°ā§āĻ¨ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤ āĻ¸ā§āĻā§āĻˇā§āĻ¤ā§āĻ°ā§ āĻā§āĻ¨ āĻāĻžāĻāĻĒā§āĻ° āĻā§āĻ¯āĻžāĻ˛ā§ āĻ°āĻŋāĻāĻžāĻ°ā§āĻ¨ āĻāĻ°āĻŦā§ āĻ¸ā§āĻāĻž āĻĢāĻžāĻāĻļāĻ¨ āĻĄāĻŋāĻā§āĻ˛ā§āĻ¯āĻŧāĻžāĻ° āĻāĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻāĻžāĻ° āĻĄāĻŋāĻā§āĻ˛ā§āĻ¯āĻŧāĻžāĻ° āĻāĻ°āĻžāĻ° āĻĒāĻ°ā§Â āĻāĻ˛ā§āĻ˛ā§āĻ āĻāĻ°ā§ āĻĻāĻŋāĻ¤ā§ āĻšāĻŦā§ , āĻ¤āĻžāĻ°āĻĒāĻ° āĻĢāĻžāĻāĻļāĻ¨ āĻŦā§āĻ˛āĻā§āĻ° āĻŽāĻ§ā§āĻ¯ā§ return āĻāĻŋāĻāĻ¯āĻŧāĻžāĻ°ā§āĻĄā§āĻ° āĻĒāĻ°ā§ āĻ¯ā§ āĻā§āĻ¯āĻžāĻ˛ā§ āĻāĻŽāĻ°āĻž āĻ°āĻŋāĻāĻžāĻ°ā§āĻ¨ āĻāĻ°āĻ¤ā§ āĻāĻžāĻ āĻ¤āĻž āĻĻāĻŋāĻ¤ā§ āĻšāĻŦā§ āĻāĻŦāĻ āĻāĻŽāĻžāĻĻā§āĻ° āĻ āĻŦāĻļā§āĻ¯āĻ āĻŽāĻ¨ā§ āĻ°āĻžāĻāĻ¤ā§ āĻšāĻŦā§ āĻ¯ā§ āĻ¤āĻžāĻ° āĻĄāĻžāĻāĻž āĻāĻžāĻāĻĒ āĻāĻŦāĻ āĻ°āĻŋāĻāĻžāĻ°ā§āĻ¨ āĻāĻžāĻāĻĒ āĻāĻāĻ āĻšāĻ¤ā§ āĻšāĻŦā§ –
//square returns square value of a number
func square(num float64) float64 {
return math.Pow(num, 2)
}
āĻāĻāĻžāĻ¨ā§ square āĻĢāĻžāĻāĻļāĻ¨āĻāĻŋ āĻāĻāĻāĻŋ float64 āĻāĻžāĻāĻĒ āĻāĻ° āĻā§āĻ¯āĻžāĻ˛ā§ āĻ°āĻŋāĻāĻžāĻ°ā§āĻ¨ āĻāĻ°āĻŦā§ āĨ¤ math.Pow(x, y) āĻĢāĻžāĻāĻļāĻ¨āĻāĻŋ x ^ y āĻšāĻŋāĻ¸āĻžāĻŦ āĻāĻ°ā§ āĻāĻāĻāĻŋ float64 āĻ°āĻŋāĻāĻžāĻ°ā§āĻ¨ āĻāĻ°ā§ āĨ¤Â
āĻāĻāĻžāĻŦā§ āĻāĻŽāĻ°āĻž āĻā§āĻ¨ āĻĢāĻžāĻāĻļāĻ¨ āĻĨā§āĻā§ āĻāĻāĻāĻŋ āĻā§āĻ¯āĻžāĻ˛ā§ āĻ°āĻŋāĻāĻžāĻ°ā§āĻ¨ āĻĒā§āĻ¤ā§ āĻĒāĻžāĻ°āĻŋ āĻāĻŦāĻ āĻ¸ā§āĻ āĻā§āĻ¯āĻžāĻ˛ā§ āĻāĻŽāĻ°āĻž āĻāĻžāĻāĻ˛ā§ āĻā§āĻ¨ āĻā§āĻ¯āĻžāĻ°āĻŋāĻ¯āĻŧā§āĻŦāĻ˛ āĻāĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻ°āĻžāĻāĻ¤ā§ āĻĒāĻžāĻ°āĻŋ āĻ āĻĨāĻŦāĻž āĻ¤āĻž āĻāĻ°ā§āĻāĻāĻŋ āĻĢāĻžāĻāĻļāĻ¨ā§āĻ° āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻāĻžāĻ° āĻšāĻŋāĻ¸ā§āĻŦā§āĻ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°āĻŋ –
package main
import (
"fmt"
)
func main() {
ans := square(3)
fmt.Println(ans)
fmt.Println(square(5)) // called square function and print value
}
āĻāĻ˛ā§āĻ¨ āĻ¤āĻžāĻšāĻ˛ā§ āĻāĻŽāĻ°āĻž āĻāĻŽāĻžāĻĻā§āĻ° āĻāĻā§āĻ° āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽāĻāĻžāĻ¯āĻŧ āĻāĻ āĻŦāĻŋāĻˇā§āĻāĻŋ āĻāĻŽāĻĒā§āĻ˛āĻŋāĻŽā§āĻ¨ā§āĻ āĻāĻ°āĻŋ āĻāĻŦāĻ āĻŦā§āĻ° āĻāĻ°āĻŋ āĻāĻāĻāĻ¨ āĻāĻžāĻ¸ā§āĻāĻŽāĻžāĻ°āĻā§ āĻŽā§āĻ āĻāĻ¤ āĻāĻžāĻāĻž āĻĻāĻŋāĻ¤ā§ āĻšāĻŦā§ āĨ¤Â āĻāĻā§āĻˇā§āĻ¤ā§āĻ°ā§ āĻāĻŽāĻ°āĻž āĻĢāĻžāĻāĻļāĻ¨ āĻĨā§āĻā§ āĻĒā§āĻ°āĻ¤ā§āĻ¯ā§āĻāĻāĻž āĻĒā§āĻ°ā§āĻĄāĻžāĻā§āĻā§ āĻāĻ¤ āĻāĻžāĻāĻž āĻĻāĻŋāĻ¤ā§ āĻšāĻŦā§ āĻ¸ā§āĻāĻž āĻŦā§āĻ° āĻāĻ°āĻŦāĨ¤ āĻāĻ°āĻĒāĻ° āĻ¸āĻŦ āĻ¯ā§āĻ āĻāĻ°ā§ āĻŽā§āĻ āĻāĻ¤ āĻāĻžāĻāĻž āĻĻāĻŋāĻ¤ā§ āĻšāĻŦā§ āĻāĻāĻž āĻŦā§āĻ° āĻāĻ°āĻŦ –Â
package main
import "fmt"
func main() {
var amount, total float64
amount = CalculatePayable(152.50, 3)
fmt.Println("Product one: ", amount)
total += amount
amount = CalculatePayable(1500, 7)
fmt.Println("Product two: ", amount)
total += amount
fmt.Println("Total: ", total)
}
// CalculatePayable returns the calculated payable bill
func CalculatePayable(price float64, count int) float64 {
var discount float64 = 0.95
total := price * float64(count)
// check total amount is greater than 1000 or not
if total > 1000.0 {
total *= discount
}
return total
}
āĻāĻāĻāĻĒā§āĻ –
Product one: 457.5
Product two: 9975
Total: 10432.5
Go āĻ¤ā§ āĻā§āĻ¨ āĻāĻāĻāĻŋ āĻĢāĻžāĻāĻļāĻ¨ āĻāĻāĻžāĻ§āĻŋāĻ āĻāĻžāĻāĻĒā§āĻ° āĻā§āĻ¯āĻžāĻ˛ā§ āĻ°āĻŋāĻāĻžāĻ°ā§āĻ¨ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤ āĻāĻā§āĻˇā§āĻ¤ā§āĻ°ā§ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻāĻžāĻ° āĻāĻ° āĻĒāĻ°ā§ āĻāĻ°ā§āĻāĻāĻŋ āĻŦā§āĻ°ā§āĻ¯āĻžāĻā§āĻ āĻĻāĻŋāĻ¯āĻŧā§ āĻ¸ā§āĻāĻžāĻ¨ā§ āĻ°āĻŋāĻāĻžāĻ°ā§āĻ¨ āĻāĻžāĻāĻĒāĻā§āĻ˛ā§ āĻāĻŽāĻž āĻĻāĻŋāĻ¯āĻŧā§ āĻĻāĻŋā§ā§ āĻ˛āĻŋāĻāĻ¤ā§ āĻšāĻŦā§ –
package main
import "fmt"
func returnMany() (int, string, bool) {
return 5, "Hello", true
}
func main() {
myInt, myString, myBool := returnMany()
fmt.Println(myInt, myString, myBool)
}
āĻāĻāĻ¨ āĻā§āĻ āĻ¯āĻĻāĻŋ āĻā§āĻ˛ āĻāĻ°ā§ āĻĒā§āĻ°ā§āĻĄāĻžāĻā§āĻā§āĻ° āĻĒāĻ°āĻŋāĻŽāĻžāĻŖ(count) āĻ āĻĨāĻŦāĻž āĻĒā§āĻ°ā§āĻĄāĻžāĻā§āĻā§āĻ° āĻĻāĻžāĻŽā§(price) āĻ āĻ¨ā§āĻā§āĻāĻŋāĻ āĻā§āĻ¯āĻžāĻ˛ā§ āĻĻāĻŋāĻ¯āĻŧā§ āĻĻā§āĻ¯āĻŧ āĻ¤āĻžāĻšāĻ˛ā§Â āĻāĻŋ āĻāĻ°āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§?
āĻāĻ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĻ° āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ āĻšāĻŋāĻ¸ā§āĻŦā§ āĻāĻŽāĻžāĻĻā§āĻ° āĻāĻāĻāĻž āĻāĻĒāĻžāĻ¯āĻŧ āĻā§āĻāĻā§ āĻŦā§āĻ° āĻāĻ°āĻ¤ā§ āĻšāĻŦā§ āĻ¯ā§āĻāĻžāĻ¨ā§ āĻĢāĻžāĻāĻļāĻ¨āĻāĻž āĻŦāĻ˛ā§ āĻĻāĻŋāĻ¤ā§ āĻĒāĻžāĻ°āĻŦā§ āĻ¯ā§ price āĻŦāĻž count āĻāĻ° āĻā§āĻ¯āĻžāĻ˛ā§ āĻ¨ā§āĻā§āĻāĻŋāĻ āĻšā§ā§āĻā§ āĨ¤Â
āĻāĻāĻāĻŋ āĻ¸āĻšāĻ āĻāĻĒāĻžā§ āĻšāĻā§āĻā§, āĻ¯āĻĻāĻŋ āĻ¨ā§āĻā§āĻāĻŋāĻ āĻā§āĻ¯āĻžāĻ˛ā§ āĻĒāĻžāĻ¸ āĻāĻ°āĻž āĻšā§ āĻ¸ā§āĻā§āĻˇā§āĻ¤ā§āĻ°ā§ āĻāĻŽāĻ°āĻž āĻ¸āĻžāĻĨā§ āĻāĻāĻāĻŋ string āĻā§āĻ¯āĻžāĻ˛ā§ āĻ°āĻŋāĻāĻžāĻ°ā§āĻ¨ āĻāĻ°āĻŦ, āĻ¯ā§āĻāĻžāĻ¨ā§ āĻŦāĻŋāĻˇā§āĻāĻž āĻāĻ˛ā§āĻ˛ā§āĻ āĻĨāĻžāĻāĻŦā§ āĻāĻŦāĻ āĻ¸āĻŦāĻāĻŋāĻā§ āĻ āĻŋāĻāĻ āĻžāĻ āĻĨāĻžāĻāĻ˛ā§ āĻ¤āĻž āĻĢāĻžāĻāĻž āĻĨāĻžāĻāĻŦā§āĨ¤ āĻāĻ°āĻĒāĻ°ā§ āĻĢāĻžāĻāĻļāĻ¨ āĻāĻ˛ āĻāĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻāĻŽāĻ°āĻž āĻāĻ string āĻā§āĻ āĻāĻ°āĻŦ āĻāĻŦāĻ āĻ¯āĻĻāĻŋ āĻ¤āĻž āĻĢāĻžāĻāĻž āĻ¨āĻž āĻšāĻ¯āĻŧ āĻ¤āĻžāĻšāĻ˛ā§ āĻāĻŽāĻ°āĻž āĻŦā§āĻāĻŦā§ āĻā§āĻ¨ āĻāĻžāĻŽā§āĻ˛āĻž āĻšāĻ¯āĻŧā§āĻā§ –Â
package main
import "fmt"
// CalculatePayable returns the calculated payable bill
func CalculatePayable(price float64, count int) (float64, string) {
var discount float64 = 0.95
// check the given price and count is negative or not
if price < 0 || count < 0 {
return 0, "price and count can not be negative"
}
total := price * float64(count)
if total > 1000.0 {
total *= discount
}
return total, ""
}
func main() {
total, message := CalculatePayable(-152.50, 3)
if message != "" {
fmt.Println(message)
} else {
fmt.Println("Total payable: ", total)
}
}
āĻāĻāĻāĻĒā§āĻ –
price and count can not be negative
āĻāĻ° āĻŽāĻ§ā§āĻ¯ āĻĻāĻŋā§ā§ āĻāĻŽāĻ°āĻž āĻā§āĻ¨ āĻĢāĻžāĻāĻļāĻ¨ āĻĨā§āĻā§ āĻāĻāĻžāĻ§āĻŋāĻ āĻā§āĻ¯āĻžāĻ˛ā§ āĻ°āĻŋāĻāĻžāĻ°ā§āĻ¨ āĻāĻ°āĻžāĻ° āĻĒā§āĻ°ā§ā§āĻ āĻ āĻĻā§āĻā§ āĻĢā§āĻ˛āĻ˛āĻžāĻŽāĨ¤Â
āĻŦāĻŋāĻāĻĻā§āĻ°āĻ Go āĻ¤ā§ āĻāĻāĻāĻŋ error āĻāĻžāĻāĻĒ āĻāĻā§ āĻ¯ā§āĻāĻž āĻĻāĻŋāĻ¯āĻŧā§ āĻā§āĻĄā§āĻ° āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĻ° āĻāĻĨāĻž āĻāĻžāĻ¨āĻžāĻ¨ āĻĻā§ā§āĻž āĻšā§āĨ¤ error āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻāĻŽāĻ°āĻž āĻĒāĻ°ā§ āĻŦāĻŋāĻ¸ā§āĻ¤āĻžāĻ°āĻŋāĻ¤ āĻāĻžāĻ¨āĻ¤ā§ āĻĒāĻžāĻ°āĻŦ āĻ¤āĻžāĻ āĻāĻĒāĻžāĻ¤āĻ¤ āĻāĻŽāĻ°āĻž string āĻĻāĻŋā§ā§ āĻāĻžāĻ āĻāĻžāĻ˛āĻžāĻāĨ¤ error āĻļā§āĻāĻžāĻ° āĻĒāĻ°ā§Â āĻāĻŦāĻžāĻ° āĻāĻāĻžāĻ¨ā§ āĻāĻ¸ā§ string āĻāĻ° āĻŦāĻĻāĻ˛ā§ error āĻĻāĻŋāĻ¯āĻŧā§ āĻĢāĻžāĻāĻļāĻ¨āĻāĻž āĻ˛āĻŋāĻāĻŦāĨ¤
āĻāĻāĻžāĻ¨ā§ āĻā§āĻ¨ā§ āĻ°āĻžāĻāĻž āĻāĻžāĻ˛ā§ āĻĢāĻžāĻāĻļāĻ¨ā§āĻ° āĻ¯ā§ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻāĻžāĻ° āĻ¯āĻžā§ āĻ¸ā§āĻāĻž āĻĒāĻžāĻ¸ āĻŦāĻžāĻ āĻā§āĻ¯āĻžāĻ˛ā§ āĻšāĻŋāĻ¸ā§āĻŦā§ āĻ¯āĻžāĻ¯āĻŧ āĻ āĻ°ā§āĻĨāĻžā§ āĻĢāĻžāĻāĻļāĻ¨ āĻāĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻ¸ā§āĻ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻāĻžāĻ°ā§āĻ° āĻā§āĻ¯āĻžāĻ˛ā§ āĻā§āĻā§āĻ āĻāĻ°āĻž āĻšāĻ˛ā§āĻ āĻĢāĻžāĻāĻļāĻ¨ā§āĻ° āĻŦāĻžāĻāĻ°ā§ āĻ¸ā§āĻÂ āĻā§āĻā§āĻ āĻāĻž āĻĒāĻžāĻāĻ¯āĻŧāĻž āĻ¯āĻžāĻ¯āĻŧ āĻ¨āĻž āĨ¤ āĻāĻŽāĻ°āĻž āĻ¯āĻĻāĻŋ āĻāĻžāĻ āĻĢāĻžāĻāĻļāĻ¨ā§āĻ° āĻŦāĻžāĻāĻ°ā§āĻ āĻ¸ā§āĻ āĻā§āĻ¯āĻžāĻ˛ā§āĻāĻž āĻā§āĻā§āĻ āĻšā§āĻ āĻ¤āĻžāĻšāĻ˛ā§ āĻĒāĻ¯āĻŧā§āĻ¨ā§āĻāĻžāĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻšāĻŦā§ āĨ¤ āĻĒāĻ¯āĻŧā§āĻ¨ā§āĻāĻžāĻ°ā§āĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻŽāĻ°āĻž āĻĒāĻ°ā§ āĻŦāĻŋāĻ¸ā§āĻ¤āĻžāĻ°āĻŋāĻ¤ āĻāĻžāĻ¨āĻ¤ā§ āĻĒāĻžāĻ°āĻŦā§āĨ¤
[ā§¨.ā§§.ā§¨] āĻā§āĻ¯āĻžāĻ°āĻŋā§ā§āĻĄāĻŋāĻ āĻĢāĻžāĻāĻļāĻ¨ ( Variadic Function )
āĻāĻŽāĻ°āĻž āĻšāĻ¯āĻŧāĻ¤ā§ āĻ˛āĻā§āĻˇā§āĻ¯ āĻāĻ°ā§ āĻĨāĻžāĻāĻŦā§ Println āĻĢāĻžāĻāĻļāĻ¨āĻāĻžāĻ¯āĻŧ āĻāĻŽāĻž āĻĻāĻŋāĻ¯āĻŧā§ āĻĻāĻŋāĻ¯āĻŧā§ āĻ āĻ¨ā§āĻāĻā§āĻ˛ā§ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻāĻžāĻ° āĻĒāĻžāĻ¸ āĻāĻ°āĻž āĻ¯āĻžāĻ¯āĻŧ āĨ¤ āĻāĻāĻžāĻ¨ā§ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻāĻžāĻ°ā§āĻ° āĻ¸āĻāĻā§āĻ¯āĻž āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻ¨āĻ¯āĻŧ, āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻāĻžāĻ° āĻĨāĻžāĻāĻ¤ā§āĻ āĻĒāĻžāĻ°ā§, āĻ¨āĻžāĻ āĻĨāĻžāĻāĻ¤ā§ āĻĒāĻžāĻ°ā§ āĻāĻŦāĻžāĻ°Â āĻāĻ āĻŦāĻž āĻāĻāĻžāĻ§āĻŋāĻāĻ āĻĨāĻžāĻāĻ¤ā§ āĻĒāĻžāĻ°ā§ āĨ¤ āĻāĻžāĻāĻ˛ā§ āĻāĻŽāĻ°āĻžāĻ āĻāĻŽāĻ¨ āĻĢāĻžāĻāĻļāĻ¨ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°āĻŋ, āĻāĻ° āĻāĻāĻžāĻā§āĻ āĻŦāĻ˛āĻž āĻšā§ āĻā§āĻ¯āĻžāĻ°āĻŋā§ā§āĻĄāĻŋāĻ āĻĢāĻžāĻāĻļāĻ¨ –
package main
import "fmt"
func main() {
myFunc()
myFunc(1)
myFunc(1, 2)
myFunc(1, 2, 3, 4, 5)
}
func myFunc(numbers ...int) {
fmt.Println(numbers)
}
āĻāĻāĻāĻĒā§āĻ –Â
[]
[1]
[1 2]
[1 2 3 4 5]
āĻāĻā§āĻˇā§āĻ¤ā§āĻ°ā§ āĻ¯ā§ āĻā§āĻ¯āĻžāĻ°āĻŋā§ā§āĻŦāĻ˛āĻāĻŋāĻ° āĻ¸āĻāĻā§āĻ¯āĻž āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻ¨āĻ¯āĻŧ āĻ¸ā§āĻāĻŋāĻ° āĻĄāĻžāĻāĻž āĻāĻžāĻāĻĒā§āĻ° āĻāĻā§ “…” āĻ¨ā§āĻā§āĻļāĻ¨ āĻĻāĻŋāĻ¤ā§ āĻšāĻŦā§, āĻ¯āĻž āĻ¸āĻāĻ˛ āĻĒāĻžāĻ¸ āĻāĻ°āĻž āĻā§āĻ¯āĻžāĻ˛ā§āĻā§ āĻāĻāĻ¤ā§āĻ°ā§ āĻāĻāĻāĻŋ āĻ¸ā§āĻ˛āĻžāĻāĻ¸ āĻšāĻŋāĻ¸ā§āĻŦā§ āĻ°āĻŋāĻ¸āĻŋāĻ āĻāĻ°āĻŦā§āĨ¤ āĻāĻāĻ¨ āĻ¸ā§āĻ˛āĻžāĻāĻ¸ āĻāĻ° āĻ¸āĻŦ āĻ āĻĒāĻžāĻ°ā§āĻļāĻ¨ āĻāĻŽāĻ°āĻž āĻāĻ° āĻāĻĒāĻ° āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°āĻŋ āĻ¯ā§āĻŽāĻ¨ āĻāĻ° āĻāĻĒāĻ° āĻ˛ā§āĻĒ āĻāĻžāĻ˛āĻŋāĻ¯āĻŧā§ āĻāĻŽāĻ°āĻž āĻāĻ° āĻā§āĻ¯āĻžāĻ˛ā§ āĻā§āĻ˛ā§ āĻ ā§āĻ¯āĻžāĻā§āĻ¸ā§āĻ¸ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°āĻŋ āĻŦāĻž āĻĒā§āĻ°āĻŋāĻ¨ā§āĻ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°āĻŋ –
package main
import "fmt"
func main() {
myFunc("Hello World")
myFunc("Hello World", 1, 2)
myFunc("Hello World", 1, 2, 3, 4, 5)
}
func myFunc(mystring string, numbers ...int) {
fmt.Println(mystring)
for number := range numbers {
fmt.Println(number)
}
}
āĻāĻāĻāĻĒā§āĻ –Â
Hello World
Hello World
0
1
Hello World
0
1
2
3
4
āĻāĻāĻ¨ āĻāĻŽāĻžāĻĻā§āĻ° āĻāĻžāĻā§ āĻ¯āĻĻāĻŋ āĻāĻā§ āĻĨā§āĻā§ āĻāĻāĻāĻŋ āĻ¸ā§āĻ˛āĻžāĻāĻ¸ āĻŦāĻž āĻ ā§āĻ¯āĻžāĻ°ā§ āĻĨāĻžāĻā§ āĻāĻŦāĻ āĻ¸ā§āĻāĻžāĻā§ āĻāĻŽāĻ°āĻž āĻāĻ āĻĢāĻžāĻāĻļāĻ¨ā§ āĻĒāĻžāĻ¸ āĻāĻ°āĻžāĻ¤ā§ āĻāĻžāĻ āĻ¤āĻžāĻšāĻ˛ā§ āĻ¸ā§āĻāĻžāĻ° āĻ¨āĻžāĻŽā§āĻ° āĻĒāĻ°ā§ “…” āĻ¨ā§āĻā§āĻļāĻ¨ āĻĻāĻŋā§ā§ āĻ¤āĻž āĻāĻŽāĻ°āĻž āĻĒāĻžāĻ¸ āĻāĻ°āĻžāĻ¤ā§ āĻĒāĻžāĻ°āĻŋ –Â
package main
import "fmt"
func main() {
mySlice := []int{1, 2, 3, 4, 5} // initialize slice with elements
myFunc("Hello World", mySlice...)
}
func myFunc(mystring string, numbers ...int) {
fmt.Println(mystring)
//print all slice element with range for loop
for number := range numbers {
fmt.Println(number)
}
}
āĻāĻāĻāĻĒā§āĻ –
Hello World
0
1
2
3
4
[ā§¨.ā§§.ā§Š] āĻĄā§āĻĢāĻžāĻ° ( Defer )
“defer” āĻšāĻ˛ā§ āĻāĻŽāĻ¨ āĻāĻāĻāĻŋ āĻāĻŋāĻāĻ¯āĻŧāĻžāĻ°ā§āĻĄ āĻ¯āĻž āĻā§āĻ¨ā§Â āĻĢāĻžāĻāĻļāĻ¨ āĻŦāĻž āĻŽā§āĻĨāĻĄ āĻāĻ˛ āĻāĻ°āĻžāĻ° āĻāĻā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻšāĻ˛ā§ āĻ¸ā§āĻ āĻĢāĻžāĻāĻļāĻ¨ āĻŦāĻž āĻŽā§āĻĨāĻĄ āĻāĻŋ āĻ¤āĻ¤āĻā§āĻˇāĻŖ āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤ āĻāĻā§āĻ¸āĻŋāĻāĻŋāĻāĻ āĻšāĻŦā§ āĻ¨āĻž āĻ¯āĻ¤āĻā§āĻˇāĻŖ āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤ āĻĄā§āĻĢāĻžāĻ°āĻ¯ā§āĻā§āĻ¤ āĻ˛āĻžāĻāĻ¨āĻāĻŋ āĻ¯ā§āĻ āĻĢāĻžāĻāĻļāĻ¨ā§ āĻāĻā§ āĻ¸ā§āĻ āĻĢāĻžāĻāĻļāĻ¨ā§āĻ° āĻ¸āĻŦ āĻāĻžāĻ āĻļā§āĻˇ āĻ¨āĻž āĻšā§ āĨ¤Â
āĻ āĻ°ā§āĻĨāĻžā§ āĻ¯āĻĻāĻŋ āĻāĻāĻāĻŋ āĻĢāĻžāĻāĻļāĻ¨ āĻāĻ° āĻŽāĻ§ā§āĻ¯ā§ defer āĻĻāĻŋā§ā§ āĻāĻ°ā§āĻāĻāĻŋ āĻĢāĻžāĻāĻļāĻ¨ āĻāĻ˛ āĻāĻ°āĻž āĻšāĻ¯āĻŧ āĻ¤āĻžāĻšāĻ˛ā§ āĻĒā§āĻ°āĻĨāĻŽ āĻĢāĻžāĻāĻļāĻ¨āĻāĻŋ āĻāĻā§āĻ¸āĻŋāĻāĻŋāĻāĻ āĻšā§ā§ āĻ°āĻŋāĻāĻžāĻ°ā§āĻ¨ āĻšāĻā§āĻžāĻ° āĻāĻā§ āĻĄā§āĻĢāĻžāĻ° āĻ¯ā§āĻā§āĻ¤ āĻĢāĻžāĻāĻļāĻ¨āĻāĻŋ āĻāĻā§āĻ¸āĻŋāĻāĻŋāĻāĻ āĻšāĻŦā§āĨ¤ āĻāĻā§āĻˇā§āĻ¤ā§āĻ°ā§Â āĻšāĻ¤ā§ āĻĒāĻžāĻ°ā§ āĻĒā§āĻ°āĻĨāĻŽÂ āĻĢāĻžāĻāĻļāĻ¨āĻāĻŋ āĻ¸ā§āĻŦāĻžāĻāĻžāĻŦāĻŋāĻāĻāĻžāĻŦā§ return āĻāĻ°ā§āĻā§Â āĻ āĻĨāĻŦāĻž āĻā§āĻ¨ āĻāĻ°āĻ° āĻāĻ° āĻāĻžāĻ°āĻ¨ā§ āĻŽāĻžāĻāĻĒāĻĨā§ return āĻāĻ°ā§āĻā§Â āĻŦāĻž āĻā§āĻ¨ āĻāĻžāĻ°āĻŖā§ āĻ āĻ¸ā§āĻŦāĻžāĻāĻžāĻŦāĻŋāĻāĻāĻžāĻŦā§ āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽ āĻŦāĻ¨ā§āĻ§ āĻšāĻ¯āĻŧā§ āĻā§āĻā§ āĨ¤ āĻ¯āĻžāĻ āĻšā§āĻ āĻ¨āĻž āĻā§āĻ¨ āĻĄā§āĻĢāĻžāĻ° āĻāĻ° āĻ¸ā§āĻā§āĻāĻŽā§āĻ¨ā§āĻ āĻā§āĻā§ āĻāĻā§āĻ¸āĻŋāĻāĻŋāĻāĻ āĻšāĻŦā§ āĨ¤ āĻāĻāĻž āĻ āĻ¨ā§āĻāĻāĻž âfinallyâ āĻŦā§āĻ˛āĻā§āĻ° āĻŽāĻ¤ āĻāĻžāĻ āĻāĻ°ā§ –Â
package main
import "fmt"
func main() {
defer fmt.Println("Good bye!")
fmt.Println("Hello world")
}
āĻāĻāĻžāĻ¨ā§ āĻāĻāĻāĻĒā§āĻ āĻšāĻŦā§ –
Hello world
Good bye!
āĻāĻŽāĻ°āĻž āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻā§āĻ¨ āĻĢāĻžāĻāĻļāĻ¨ āĻŦāĻž āĻŽā§āĻĨāĻĄ āĻāĻ˛ āĻāĻ° āĻāĻā§āĻ defer āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°āĻŋ, āĻ āĻ¨ā§āĻ¯ āĻā§āĻ¨ā§ āĻ¸ā§āĻā§āĻāĻŽā§āĻ¨ā§āĻ āĻāĻ° āĻāĻā§Â āĻāĻāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻ¯āĻžāĻŦā§ āĻ¨āĻž āĻāĻ° āĻ¯āĻĻāĻŋ āĻā§āĻ¨ āĻĢāĻžāĻāĻļāĻ¨ā§ āĻ¯āĻĻāĻŋ āĻāĻŽāĻ°āĻž āĻāĻāĻžāĻ§āĻŋāĻ defer āĻ¸ā§āĻā§āĻāĻŽā§āĻ¨ā§āĻ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻŋ āĻ¤āĻžāĻšāĻ˛ā§ āĻāĻāĻž āĻāĻ˛ā§āĻāĻž āĻĻāĻŋāĻ āĻĨā§āĻā§ āĻāĻā§āĻ¸āĻŋāĻāĻŋāĻāĻ āĻšāĻŦā§ āĻŽāĻžāĻ¨ā§ āĻļā§āĻˇā§āĻ° āĻ¸ā§āĻā§āĻāĻŽā§āĻ¨ā§āĻāĻāĻž āĻāĻā§ āĻāĻā§āĻ¸āĻŋāĻāĻŋāĻāĻ āĻšāĻŦā§ –
package main
import "fmt"
func main() {
defer fmt.Println("Good bye!")
defer fmt.Println("āĻšā§āĻ¯āĻžāĻ˛ā§")
defer fmt.Println("Hola!")
fmt.Println("Hello")
}
āĻāĻāĻāĻĒā§āĻ –Â
Hello
Hola!
āĻšā§āĻ¯āĻžāĻ˛ā§
Good bye!
defer āĻ¸āĻžāĻ§āĻžāĻ°āĻ¨āĻ¤ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻšā§ āĻĢāĻžāĻāĻ¨āĻžāĻ˛ āĻā§āĻ¨ā§ āĻāĻžāĻ¸ā§āĻ āĻ āĻĨāĻŦāĻž āĻā§āĻ˛āĻŋāĻ¨āĻāĻĒ āĻ āĻĒāĻžāĻ°ā§āĻļāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯, āĻ¯ā§āĻŽāĻ¨ āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽ āĻĨā§āĻā§ āĻŦā§āĻ° āĻšāĻāĻ¯āĻŧāĻžāĻ° āĻāĻā§ āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ā§āĻ¯āĻŧ āĻ°āĻŋāĻ¸ā§āĻ°ā§āĻ¸ āĻĒāĻ°āĻŋāĻˇā§āĻāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻŦāĻž āĻā§āĻ¨ āĻĢāĻžāĻāĻ˛ āĻāĻĒā§āĻ¨ āĻĨāĻžāĻāĻ˛ā§ āĻ¤āĻž āĻā§āĻ˛ā§āĻ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯āĨ¤
[ā§¨.ā§§.ā§Ē] āĻ¨ā§āĻŽāĻĄ āĻ°ā§āĻāĻžāĻ˛ā§āĻ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻāĻžāĻ° ( Named Result Parameter )
āĻāĻŽāĻ°āĻž āĻāĻžāĻāĻ˛ā§ āĻĢāĻžāĻāĻļāĻ¨ā§āĻ° āĻ°āĻŋāĻāĻžāĻ°ā§āĻ¨ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻāĻžāĻ° āĻā§āĻ˛ā§āĻ° āĻ¨āĻžāĻŽāĻ āĻĻāĻŋāĻ¤ā§ āĻĒāĻžāĻ°āĻŋāĨ¤ āĻ¯āĻĻāĻŋ āĻ°āĻŋāĻāĻžāĻ°ā§āĻ¨ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻāĻžāĻ°āĻā§āĻ˛ā§āĻ° āĻ¨āĻžāĻŽ āĻĨāĻžāĻā§ āĻ¤āĻžāĻšāĻ˛ā§ āĻ°āĻŋāĻāĻžāĻ°ā§āĻ¨ āĻāĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻļā§āĻ§ā§ return āĻ˛āĻŋāĻāĻ˛ā§āĻ āĻšāĻŦā§ āĨ¤ āĻāĻā§āĻ˛ā§ āĻĢāĻžāĻāĻļāĻ¨ā§āĻ° āĻļā§āĻ°ā§āĻ¤ā§ āĻĄāĻŋāĻĢāĻžāĻāĻ¨ āĻāĻ°āĻž āĻā§āĻ¯āĻžāĻ°āĻŋāĻ¯āĻŧā§āĻŦāĻ˛ āĻāĻ° āĻŽāĻ¤ āĻāĻāĻ°āĻŖ āĻāĻ°ā§ āĻ āĻ°ā§āĻĨāĻžā§ āĻāĻ āĻā§āĻ¯āĻžāĻ°āĻŋā§ā§āĻŦāĻ˛ āĻā§āĻ˛ā§ āĻĢāĻžāĻāĻļāĻ¨ āĻāĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻž āĻ¯āĻžāĻŦā§ āĻāĻŦāĻ āĻā§āĻ¯āĻžāĻ˛ā§ āĻ ā§āĻ¯āĻžāĻ¸āĻžāĻāĻ¨ āĻāĻ°āĻž āĻ¯āĻžāĻŦā§ āĨ¤ āĻāĻā§āĻˇā§āĻ¤ā§āĻ°ā§ āĻ°āĻŋāĻāĻžāĻ°ā§āĻ¨ āĻāĻ°āĻžāĻ° āĻ¸āĻŽā§ āĻāĻĻā§āĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻāĻ āĻ¸āĻŽā§ā§ āĻ ā§āĻ¯āĻžāĻ¸āĻžāĻāĻ¨ āĻĨāĻžāĻāĻž āĻā§āĻ¯āĻžāĻ˛ā§āĻāĻžāĻ āĻ°āĻŋāĻāĻžāĻ°ā§āĻ¨ āĻšāĻŦā§ āĨ¤
āĻāĻŽāĻ°āĻž āĻ¯āĻĻāĻŋ āĻāĻŽāĻžāĻĻā§āĻ° āĻāĻā§āĻ° CalculatePayable āĻĢāĻžāĻāĻļāĻ¨āĻāĻŋāĻ¤ā§ āĻ¨ā§āĻŽāĻĄ āĻ°āĻŋāĻāĻžāĻ°ā§āĻ¨ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻāĻžāĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻŋ āĻ¤āĻžāĻšāĻ˛ā§Â āĻĢāĻžāĻāĻļāĻ¨āĻāĻŋ āĻāĻŽāĻ¨ āĻšāĻŦā§ –Â
package main
import "fmt"
// CalculatePayable returns the calculated payable bill
func CalculatePayable(price float64, count int) (total float64, msg string) {
var discount float64 = 0.95
if price < 0 || count < 0 {
msg = "price and count can not be negative"
return
}
total = price * float64(count)
if total > 1000.0 {
total *= discount
}
return
}
func main() {
total, message := CalculatePayable(152.50, 3)
if message != "" {
fmt.Println(message)
} else {
fmt.Println("Total payable: ", total)
}
}
āĻāĻāĻžāĻ¨ā§ āĻĢāĻžāĻāĻļāĻ¨ā§āĻ° āĻļā§āĻ°ā§āĻ¤ā§āĻ total āĻāĻŦāĻ msg āĻ āĻĄāĻŋāĻĢāĻ˛ā§āĻ āĻā§āĻ¯āĻžāĻ˛ā§ float64 āĻāĻ° āĻāĻ¨ā§āĻ¯ 0 āĻāĻŦāĻ string āĻāĻ° āĻāĻ¨ā§āĻ¯ ââ āĻ¸ā§āĻ āĻšāĻ¯āĻŧā§ āĻĨāĻžāĻā§ āĨ¤ āĻāĻ° āĻĒāĻ°ā§ āĻĢāĻžāĻāĻļāĻ¨ āĻāĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻ¯āĻĻāĻŋ āĻā§āĻ¨ āĻā§āĻ˛ āĻšāĻ¯āĻŧ āĻ¤āĻžāĻšāĻ˛ā§ āĻāĻŽāĻ°āĻž msg āĻ āĻāĻŽāĻžāĻĻā§āĻ° message string āĻāĻž āĻ°āĻžāĻāĻŦ āĻāĻ° āĻ¸āĻŦ āĻāĻŋāĻā§ āĻ āĻŋāĻ āĻĨāĻžāĻāĻ˛ā§ total āĻ āĻā§āĻāĻžāĻ˛ āĻā§āĻ¯āĻžāĻ˛ā§āĻāĻž āĻ°āĻžāĻāĻŦ āĨ¤ āĻāĻ°āĻĒāĻ°ā§ āĻļā§āĻ§ā§ return āĻāĻŋāĻāĻ¯āĻŧāĻžāĻ°ā§āĻĄ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻāĻŽāĻ°āĻž āĻĢāĻžāĻāĻļāĻ¨ā§āĻ° āĻ¯ā§ āĻā§āĻ¨ āĻāĻžāĻ¯āĻŧāĻāĻž āĻĨā§āĻā§ āĻ°āĻŋāĻāĻžāĻ°ā§āĻ¨ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°āĻŋ āĨ¤