முன்னுரை

இந்த பாடத்தில் நாம் “Kaniyam Foundation” எண்ணும் இரண்டு வார்த்தைகளை terminal லலில் வெளியிடு செய்வோம். இந்த பாடத்தின் முடிவில் கீழே உள்ள படத்தில் காண்பதை பார்ப்பீர்கள்.

ஆறுவடை ஆரம்பம்

செயல்முறை

GOPATH எங்கு இருக்கிறது என்பதை அறிந்துகொள்ள உங்கள் terminal லலில் go env என்று பதிவு இடுங்கள்`

renga@renga-Standard-PC-Q35-ICH9-2009:~/go-workspace$ go env
GO111MODULE=""
GOARCH="amd64"
GOBIN=""
GOCACHE="/home/renga/.cache/go-build"
GOENV="/home/renga/.config/go/env"
GOEXE=""
GOEXPERIMENT=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOINSECURE=""
GOMODCACHE="/home/renga/go-workspace/pkg/mod"
GONOPROXY=""
GONOSUMDB=""
GOOS="linux"
GOPATH="/home/renga/go-workspace"
GOPRIVATE=""
GOPROXY="https://proxy.golang.org,direct"
GOROOT="/usr/local/go"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/usr/local/go/pkg/tool/linux_amd64"
GOVCS=""
GOVERSION="go1.17.8"
GCCGO="gccgo"
AR="ar"
CC="gcc"
CXX="g++"
CGO_ENABLED="1"
GOMOD="/dev/null"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build4059175061=/tmp/go-build -gno-record-gcc-switches"

என்னுடைய கணினியில் GOPATH வேரியபல்(Variable) “/home/renga/go-workspace” என்னும் ஃபோல்டரை சுட்டி காட்டுகிறது.

go-workspace ஃபோல்டர் க்கு(folder) பின் வரும் கமெண்டுகளை பதிவு செய்யவும்.

renga@renga-Standard-PC-Q35-ICH9-2009:~$ mkdir go-workspace 
renga@renga-Standard-PC-Q35-ICH9-2009:~$ cd go-workspace
renga@renga-Standard-PC-Q35-ICH9-2009:~/go-workspace$ mkdir src && mkdir pkg && mkdir bin
renga@renga-Standard-PC-Q35-ICH9-2009:~/go-workspace$ mkdir src/kaniyam && cd src/kaniyam
renga@renga-Standard-PC-Q35-ICH9-2009:~/go-workspace/src/kaniyam$ touch main.go
renga@renga-Standard-PC-Q35-ICH9-2009:~/go-workspace/src/kaniyam$ nano main.go
renga@renga-Standard-PC-Q35-ICH9-2009:~/go-workspace$ tree
.
├── bin
├── pkg
└── src
    └── kaniyam
        └── main.go

இங்கு நாம் pkg, src மற்றும் bin என்று மூன்று போல்டர்கள் உருவாக்கி உள்ளோம். src ஃபோல்டரில் நமக்கு தேவையான அனைத்து நிரல்களை இங்கு சேகரித்து வைத்துக் கொள்ளவும், pkg ஃபோல்டரில் நம் நிழலுக்கு தேவையான தர்ட் பார்ட்டி லைப்ரரி(third party library) பதிவிறக்கம் சேகரித்து வைத்துக் கொள்ளவும், bin ஃபோல்டரில் go install பயன்படுத்தி ஒரு தர்ட் பார்ட்டி நிரல்களை பைனரி(binary)யாக பதிவிறக்கம் செய்து சேகரித்து வைத்துக் கொள்ளவும் உதவுகிறது.

kaniyam போல்டருக்கு சென்று பின் வரும் வரிகளை பதிவு செய்க

package main
 
import "fmt"

func main() {

 fmt.Println("Kaniyam Foundation")

}

இப்பொழுது terminal லில் இருந்து Kaniyam ஃபோல்டர் க்கு சென்று பின்வருபவற்றை பதிவு செய்யவும்

renga@renga-Standard-PC-Q35-ICH9-2009:~/go-workspace/src/kaniyam$ go run main.go
kaniyam Foundation

கோட் விளக்கம்

package main

இந்த வரியை தெரிந்து கொள்ளும் முன். package என்றால் என்ன என்பதை புரிந்து கொள்ள வேண்டும். நாம் go பயன்படுத்தி ஒரு மென்பொருள் தயாரிக்கும் பொழுது,பேக்கேஜ்(package) அல்லது தனித்து செயல்படக்கூடிய மென்பொருளாக எழுதலாம்.

ஸ்டாண்டர்ட் லைப்ரரி பேக்கேஜ்

பேக்கேஜ் என்பது பல நிரல்கள் அடங்கிய ஒரு நிரல். உதாரணத்திற்கு import fmt என்று நாம் எழுதிய நிரலில் பயன்படுத்தி இருக்கிறோம். fmt பேக்கேஜ் நாம் கோலங்குடன் முன்னிருப்பாக தருவிக்க படுகிறது. கோலங்குடன் வரும் பேக்கேஜ் ஸ்டாண்டர்ட் லைப்ரரி (Standard library) என பொதுவாக அழைக்கப்படுகிறது. fmt என்பது format என்னும் ஆங்கில வார்த்தையின் சுருக்கம். இந்த பேக்கேஜ் terminal மூலம் நாம் எழுதும் நிரலுக்கு தருவிக்கும் இன்புடை(input) எடுத்து செயல்முறை செய்ய அடங்கிய ஃபங்சன்(functions) உள்ளது. இந்த பேக்கேஜ் இன் மற்றும் ஒரு பயன்பாடு நாம் நிரல் மூலம் நாம் மென்பொருளுக்கு பயன்படுத்துவோருக்கு தெரிவிக்க விரும்புவதை தெரிவிக்க கூடிய அடங்கிய ஃபங்சன்(function) உள்ளது. go வுடன் வரும் பேக்கேஜ் மற்றும் அதன் பயன்பாட்டை தெரிந்து கொள்ள https://pkg.go.dev/std என்ற இணைய முகவரியை அணுகவம்.

தர்ட் பார்ட்டி பேக்கேஜ்

வேறு ஒருவர் எழுதும் பேக்கேஜ் நாம் இம்போர்ட் செய்து நம் நிரலில் பயன்படுத்தலாம். இவ்வகை​ பேக்கேஜ் தர்ட் பார்ட்டி பேக்கேஜ்(third party packages ) என்று அழைக்கப்படுகிறது. பொதுவாக இவ்வகை லிபரரிகள் திறந்த மூல மென்பொருளாக தருவிக்க படுகிறது உதாரணத்திற்கு (gorm)[https://github.com/go-gorm/gorm] லைப்ரரி தரவுதளங்களுக்கு(database) நமது நிரலில் இருந்த சுலபமாக தரவு செயல்பாடுகள்(Data operations) மேற்கொள்ளலாம்.

இன்டெர்னல் பேக்கேஜ்

நாம் எழுதும் நிரலுக்குள் நாம் சொந்தமாக பல பேக்கேஜ் எழுதி அதை மற்ற பேக்கேஜ் ஸ் இல் பயன்படுத்தி கொள்ளலாம். இவகை பேக்கேஜ் இன்டெர்னல் பேக்கேஜ் என்று குறுப்பிடிபடும்

மெயின் பேக்கேஜ்

இங்கு நாம் எழுதிய நிரல்(Program) தனித்து செயல்படக்கூடிய மென்பொருளாக(software) பயன்படுத்த முற்படுகிறோம். அதேபோல் நாம் எழுதும் நிரல் நிறைய பேக்கேஜ் இருக்கலாம்.ஆதலால் go தொகுப்பி(compiler) உங்களுடைய நிரல் எங்கு தொடங்குகிறது என்பது தெரிய வேண்டும். இதை தொகுப்பிக்கு தெரிவிக்க main என்ற ரிசர்வ்ட் கெய்போர்ட்(reserved keyword) முதலில் பதிவு செய்கிறோம். நாம் இங்கு main.go என்று நமது கோப்புக்கு பெயரிட்டு இருக்கிறார் ஆனால் இது கட்டாயம் இல்லை. ஆனால் கோலங் டெவெலப்பர்ஸ்(developers) இது ஒரு நடைமுறையாக வைத்து இருக்கிறார்கள்.

பேக்கேஜ் ஏன் பயன்படுத்த வேண்டும் மற்றும் அதன் முக்கியத்துவத்தை பற்றி பின்வரும் பாடங்களில் விரிவாக தெரிந்து கொள்வோம். இப்போது பேக்கேஜ் வகைகள் மற்றும் மெயின் பேக்கேஜ் முக்கியதுவதை அறிந்தால் போதும்.

func main()

func என்ற கெய்போர்ட் கோலங்குயில் function என்னும் ஆங்கில வார்த்தையின் சுருக்கம். ஒரு ஃபங்சன் {} என்னும் சுருள் அடைப்புக்குறி(curly brackets) இடையில் அமைந்துள்ள நிரல் வரிகளை ஒன்று இணைந்து ஒரு செயலை செய்யும்.

package main என்று எழுதிய இந்த கோப்புதன் முதல் கோப்பு என்று தொகுப்பிகக்கு தெருவித்துவிட்டோம் ஆனால் main.go என்ற கோப்புக்குள் நாம் பல ஃபங்சன் கள் எழுத முடியும். கோலங்கள் தொகுப்பி main ஃபங்சன் நுழைவு ஃபங்சன் ஆக எடுத்துக்கொள்ளும். main ஃபங்சன் மூலம் நாம் நிரலில் உள்ள மற்ற ஃபங்ஷன் களை ஒருங்கிணைத்து பயன்படுத்த கூடிய ஒரு மென்பொருள் தயாரிக்கலாம்.

fmt.Println("Kaniyam Foundation")

fmt ஸ்டாண்டர்ட் லைப்ரரி பேக்கேஜ் பயன்படுத்தி அதில் அடங்கி உள்ள Println என்ற ஃபங்சன் க்கு “Kaniyam Foundation” என்ற வார்த்தைகளை அனுப்பி terminal லில் பதிவு செய்கிறோம்

பின்னுரை

நாம் இந்த பாடதில் go யில் உள்ள பல கெய்போர்ட் பற்றி தெரிந்து கொண்டோம் முக்கியமாக ஒரு நிரல் எழுதி அதை வெற்றிகரமாக செயல்பட செய்தோம். இன்னும் உங்களுக்கு சரிவர புரியவில்லை என்றால் கவலை கொள்ள வேண்டாம். நாம் ஒரு புதிய முயற்சி செய்யும் பொழுது அப்படி இருப்பது இயல்பு. இனி வரப்போகும் பாடங்களை படித்து நிராய நிரல்கள் எழுதும் பொழுது உங்களுக்கு அனைத்தும் புரிய ஆரம்பிக்கும்.

தொடர்ந்து படியுங்கள்!!

Photo Credit

Gopher by Maria Letta