முக்கிய உள்ளடக்கத்திற்குச் செல்லவும்
தொகுதி 3 · பாடம் 1 இன் 5பாடத்திட்டத்தில் 11/50~10 min
தொகுதி பாடங்கள் (1/5)

கையொப்பம் மற்றும் அளவுருக்கள்

Go இல், செயல்பாடுகள் func உடன் அறிவிக்கப்படுகின்றன. கையொப்ப தொடரியல் வேறுபட்டது C/Java இலிருந்து: அளவுரு பெயருக்குப் பிறகு வகை செல்கிறது, a ஆல் பிரிக்கப்பட்டது விண்வெளி. இது சத்தமாகப் படிக்கும் ஒரு தேர்வாகும் - அதற்குப் பதிலாக "n of type int" "int n" இன்.

அடிப்படை தொடரியல்

Go
func sum(a int, b int) int {
    return a + b
}

func greet(name string) {
    fmt.Println("ciao", name)
}

திரும்ப மதிப்பு இல்லாத செயல்பாடு, திரும்பும் வகையைத் தவிர்க்கிறது.

ஒரே வகையின் தொடர்ச்சியான அளவுருக்கள்

பல தொடர்ச்சியான அளவுருக்கள் ஒரே வகையைப் பகிர்ந்து கொண்டால், நீங்கள் அறிவிக்கலாம் கடைசியில் ஒரு முறை தான். இது முட்டாள்தனமானது மற்றும் நீங்கள் அதை எல்லா இடங்களிலும் பார்க்கலாம்:

Go
func sum(a, b int) int { return a + b }
func max3(a, b, c float64) float64 { /* ... */ }
func parse(s, sep string, limit int) []string { /* ... */ }

ஏற்றுமதி மற்றும் ஏற்றுமதி செய்யப்படாத செயல்பாடுகள்

Goவில், தெரிவுத்தன்மை என்பது பெயரால் தீர்மானிக்கப்படுகிறது: தொடங்கும் அடையாளங்காட்டிகள் பெரிய எழுத்துடன் ஏற்றுமதி (பிற தொகுப்புகளில் இருந்து தெரியும்), மற்றவை தொகுப்புக்கு தனிப்பட்டவை.

Go
func Sum(a, b int) int { ... }    // esportata
func helper() { ... }              // privata al package

மதிப்புகளாக செயல்படுகிறது

செயல்பாடுகள் முதல் வகுப்பு மதிப்புகள்: நீங்கள் அவற்றை ஒதுக்கலாம், அனுப்பலாம் மற்றும் அவற்றை திருப்பி அனுப்பு. மூடல்கள் பற்றிய பாடத்தில் ஆழமாக தோண்டுவோம்.

Go
op := sum            // op ha tipo func(int, int) int
fmt.Println(op(2, 3)) // 5

main மற்றும் init: இரண்டு சிறப்புப் பெயர்கள்

  • func main() என்பது main தொகுப்பின் நுழைவுப் புள்ளியாகும். வாதங்கள் இல்லை, திரும்ப மதிப்புகள் இல்லை.
  • func init() தொகுப்பு தொடக்கத்தில் தானாகவே அழைக்கப்படுகிறது (பல மடங்கு கூட பல கோப்புகள் ஒன்றை வரையறுத்தால் முறை). அமைப்பதற்கு பயனுள்ளதாக இருக்கும்; அதை சிக்கனமாக பயன்படுத்தவும்.

முயற்சி செய்து பாருங்கள்

உடற்பயிற்சி#go.m3.l1.e1
முயற்சிகள்: 0ஏற்றுகிறது…

a+b ஐ வழங்கும் ஒரு செயல்பாட்டின் தொகை(a, b int) int ஐ வரையறுத்து, அதை (3, 4) உடன் பிரதானமாக அழைக்கவும்.

எடிட்டரை ஏற்றுகிறது…
குறிப்பைக் காட்டு

பகிரப்பட்ட வகை: `(a, b int)`. அடைப்புக்குறிகளுக்குப் பிறகு திரும்பும் வகை செல்கிறது.

3 முயற்சிகளுக்குப் பிறகு தீர்வு கிடைக்கும்

உடற்பயிற்சி#go.m3.l1.e2
முயற்சிகள்: 0ஏற்றுகிறது…

'ciao <name>' அச்சிடப்படும் வாழ்த்து(பெயர் சரம்) (திரும்ப மதிப்பு இல்லை) வரையறுக்கவும்.

எடிட்டரை ஏற்றுகிறது…
குறிப்பைக் காட்டு

செயல்பாடு எதுவும் கொடுக்கவில்லை என்றால் திரும்பும் வகை இல்லை.

3 முயற்சிகளுக்குப் பிறகு தீர்வு கிடைக்கும்

Quiz#go.m3.l1.e3
தயார்

Go இல் அளவுரு வகை எங்கு செல்கிறது?

Go
func f(? ?) {}
பதில் விருப்பங்கள்

மறுபரிசீலனை

  • func name(param type, ...) returnType { ... }.
  • பெயருக்குப் பிறகு தட்டச்சு செய்க; ஒரே வகையின் தொடர்ச்சியான அளவுருக்கள் → ஒரு முறை அதை அறிவிக்கவும்.
  • பெரிய எழுத்து ஆரம்ப = ஏற்றுமதி செய்யப்பட்டது; சிறிய எழுத்து = தொகுப்பிற்கு தனிப்பட்டது.
  • செயல்பாடுகள் முதல்-வகுப்பு (ஒதுக்கக்கூடியது, கடந்து செல்லக்கூடியது).
  • main மற்றும் init ஆகியவை சிறப்பு சொற்பொருள்களுடன் ஒதுக்கப்பட்ட பெயர்கள்.