Windows 10'da Go nasıl yüklenir ve yerel bir geliştirme ortamı nasıl kurulur?

0 Hisse senetleri
0
0
0
0

giriiş

Go, Google'a duyulan hayal kırıklığından doğan bir programlama dilidir. Geliştiriciler, verimli çalışan ancak derlenmesi uzun süren bir dil ile programlaması kolay ancak üretimde verimsiz bir dil arasında sürekli olarak seçim yapmak zorunda kalıyorlardı. Go, üçünü aynı anda sunacak şekilde tasarlanmıştı: hızlı derleme, programlama kolaylığı ve verimli üretim yürütme.

Go, birçok farklı programlama projesinde kullanılabilen çok yönlü bir programlama dili olsa da, özellikle ağ/dağıtık sistem uygulamaları için oldukça uygundur ve "bulut dili" olarak bilinir. Modern programcının güçlü bir araç setiyle daha fazlasını yapmasına yardımcı olmaya odaklanır, biçimlendirmeyi dil spesifikasyonunun bir parçası haline getirerek biçimlendirme tartışmalarını ortadan kaldırır ve ayrıca tek bir ikili dosyaya derleyerek dağıtımı basitleştirir. Go, çok az anahtar kelimeyle öğrenmesi kolay bir dildir ve bu da onu hem yeni başlayanlar hem de deneyimli geliştiriciler için harika bir seçim haline getirir.

Bu eğitim, Go'yu yerel Windows 10 makinenize kurmanız ve komut satırı aracılığıyla bir programlama ortamı oluşturmanız konusunda size rehberlik edecektir.

Ön koşullar
  • İnternete bağlı, yönetici erişimine sahip bir Windows 10 cihazına ihtiyacınız var.

Adım 1 – PowerShell'i açın ve yapılandırın

Kurulum ve ayarların çoğunu, bilgisayarınızla grafiksel olmayan bir etkileşim yolu olan komut satırı arayüzünde tamamlayacaksınız. Yani, düğmelere tıklamak yerine metin yazacak ve bilgisayarınızdan metin biçiminde geri bildirim alacaksınız. Kabuk olarak da bilinen komut satırı, bilgisayarınızda her gün yaptığınız birçok görevi değiştirmenize ve otomatikleştirmenize yardımcı olabilir ve yazılım geliştiricileri için vazgeçilmez bir araçtır.

PowerShell, Microsoft tarafından geliştirilen ve komut satırı kabuk arayüzü sağlayan bir programdır. Yönetim görevleri, .NET yazılım çerçevesinin özel sınıfları olan ve işlemleri gerçekleştirebilen cmdlet'ler (komutlar) çalıştırılarak gerçekleştirilir. Ağustos 2016'da açık kaynaklı hale getirilen PowerShell, artık hem Windows hem de Unix benzeri sistemler (Mac ve Linux dahil) için tüm platformlarda kullanılabilir.

Windows PowerShell'i bulmak için ekranınızın sol alt köşesindeki Başlat menüsü simgesine sağ tıklayabilirsiniz. Menü göründüğünde, Ara'ya tıklayın ve arama çubuğuna PowerShell yazın. Seçenekler sunulduğunda, Masaüstü uygulamasından Windows PowerShell'e sağ tıklayın. Bu eğitim için Yönetici Olarak Çalıştır'ı seçin. Bu programın bilgisayarınızda değişiklik yapmasına izin vermek isteyip istemediğinizi soran bir iletişim kutusu görüntülendiğinde "Evet"e tıklayın.

Bunu yaptığınızda, aşağıdaki gibi bir kelime dizisine sahip metin tabanlı bir arayüz göreceksiniz:

Aşağıdaki komutu yazarak sistem klasöründen çıkın:

cd ~

Daha sonra PS C:\Users\sammy gibi bir kök dizinde olacaksınız.

Kurulum işlemine devam etmek için öncelikle PowerShell üzerinden izinleri ayarlamanız gerekir. Varsayılan olarak, en güvenli modda çalışacak şekilde yapılandırılmıştır ve yönetici olarak ayarlayabileceğiniz çeşitli izin düzeyleri vardır:

  • Kısıtlı, varsayılan yürütme politikasıdır. Bu modda, komut dosyalarını çalıştıramazsınız ve PowerShell yalnızca etkileşimli bir kabuk olarak çalışır.
  • AllSigned, güvenilir bir yayıncı tarafından imzalanan tüm betikleri ve yapılandırma dosyalarını çalıştırmanıza olanak tanır; bu da, güvenilir bir yayıncı tarafından imzalanmış kötü amaçlı betikleri çalıştırma riskine karşı cihazınızı potansiyel olarak açabileceğiniz anlamına gelir.
  • RemoteSigned, güvenilir yayıncılar tarafından imzalanmış, internetten indirilen komut dosyalarını ve yapılandırma dosyalarını çalıştırmanıza olanak tanır; bu güvenilir komut dosyaları gerçekten kötü amaçlıysa, cihazınızı güvenlik açıklarına karşı tekrar savunmasız hale getirir.
  • Dosyanın internetten indirildiğini fark ettiğiniz anda, Unrestricted internetten indirilen tüm betikleri ve yapılandırma dosyalarını çalıştıracaktır. Bu durumda dijital imza gerekli olmadığından, cihazınızı internetten indirilen imzasız ve potansiyel olarak kötü amaçlı betikleri çalıştırma riskine açık hale getirebilirsiniz.

Bu eğitimde, geçerli kullanıcı için izinleri ayarlamak üzere RemoteSigned yürütme politikasını kullanacaksınız. Bu, PowerShell'in kısıtlanmamış bir lisansta olduğu kadar çok izin uygulamadan güvenilir betikleri kabul etmesini sağlar. PowerShell'e aşağıdakini girin:

Set-ExecutionPolicy -Scope CurrentUser

PowerShell daha sonra sizden bir yürütme politikası sağlamanızı isteyecektir. RemoteSigned'ı kullanmak için aşağıdakileri girin:

RemoteSigned

ENTER tuşuna bastıktan sonra, yürütme politikasındaki değişikliği onaylamanız istenecektir. Değişiklikleri uygulamak için y tuşuna basın. Bunun yapıldığını, cihazdaki mevcut izinleri isteyerek doğrulayabilirsiniz:

Get-ExecutionPolicy -List

Aşağıdakine benzer bir çıktı almalısınız:

Output
Scope ExecutionPolicy
----- ---------------
MachinePolicy Undefined
UserPolicy Undefined
Process Undefined
CurrentUser RemoteSigned
LocalMachine Undefined

Bu, mevcut kullanıcının internetten indirilen güvenilir betikleri çalıştırabildiğini doğrular. Artık Go geliştirme ortamını kurmak için ihtiyacımız olan dosyaları indirmeye devam edebilirsiniz.

Adım 2 – Chocolatey Paket Yöneticisini yükleyin

Paket Yöneticisi, kurulum süreçlerini otomatikleştirmek için çalışan bir yazılım araçları setidir. Bu, ilk kurulumu, yazılım yükseltme ve yapılandırmayı ve gerektiğinde yazılım kaldırmayı içerir. Yazılım kurulumlarını merkezi bir konumda tutar ve sistemdeki tüm yazılım paketlerini yaygın olarak kullanılan formatlarda saklayabilirler.

Chocolatey, Linux'taki apt-get gibi çalışan, Windows için geliştirilmiş bir komut satırı paket yöneticisidir. Açık kaynaklı bir sürümü bulunan Chocolatey, programları ve araçları hızlı bir şekilde yüklemenize yardımcı olur. Geliştirme ortamınız için ihtiyaç duyduğunuz şeyleri indirmek için kullanacaksınız.

Betiği yüklemeden önce, makinenizde yapacağı değişikliklerden memnun olup olmadığınızı doğrulamak için okuyun. Bunu yapmak için, .NET betik çerçevesini kullanarak Chocolatey betiğini indirin ve bir terminal penceresinde görüntüleyin.

Öncelikle Internet Explorer ile Internet bağlantı ayarlarını paylaşan $script adında bir WebClient nesnesi oluşturarak başlayalım:

$script = New-Object Net.WebClient

$script nesnesini | ile Get-Member sınıfına bağlayarak kullanılabilir seçeneklere bir göz atın:

$script | Get-Member

Bu, bu WebClient nesnesinin tüm üyelerini (özelliklerini ve yöntemlerini) döndürecektir:

 . . .
[secondary_label Snippet of Output]
DownloadFileAsync Method void DownloadFileAsync(uri address, string fileName), void DownloadFileAsync(ur...
DownloadFileTaskAsync Method System.Threading.Tasks.Task DownloadFileTaskAsync(string address, string fileNa...
DownloadString Method string DownloadString(string address), string DownloadString(uri address) #method we will use
DownloadStringAsync Method void DownloadStringAsync(uri address), void DownloadStringAsync(uri address, Sy...
DownloadStringTaskAsync Method System.Threading.Tasks.Task[string] DownloadStringTaskAsync(string address), Sy…
. . .

Çıktıya bakarak, PowerShell penceresinde betiği ve imzayı görüntülemek için kullanılan DownloadString yöntemini belirleyebilirsiniz. Betiği incelemek için şu yöntemi kullanın:

$script.DownloadString("https://chocolatey.org/install.ps1")

Betiği inceledikten sonra PowerShell'de aşağıdakini yazarak Chocolatey'i yükleyin:

iwr https://chocolatey.org/install.ps1 -UseBasicParsing | iex

iwr veya Invoke-WebRequest cmdlet'i, web'den veri çıkarmanıza olanak tanır. Betiği, betiğin içeriğini yürüten ve Chocolatey paket yönetimi için kurulumu gerçekleştiren iex veya Invoke-Expression cmdlet'ine iletir.

PowerShell'in Chocolatey'i kurmasına izin verin. Kurulum tamamlandıktan sonra, choco komutuyla ek araçları yüklemeye başlayabilirsiniz.

Gelecekte Chocolatey'i yükseltmeniz gerekirse, aşağıdaki komutu çalıştırın:

choco upgrade chocolatey

Paket yöneticisini kurarak Go programlama ortamı için ihtiyaç duyduğunuz diğer şeyleri de kurabilirsiniz.

Adım 3 – Nano Metin Düzenleyicisini yükleyin (İsteğe bağlı)

Bu adımda, komut satırı arayüzü kullanan bir metin düzenleyici olan nano'yu yükleyeceksiniz. Nano'yu kullanarak doğrudan PowerShell'de program yazabilirsiniz. Not Defteri gibi grafiksel kullanıcı arayüzüne sahip bir metin düzenleyici de kullanabileceğiniz için bu zorunlu bir adım değildir. Bu eğitim, PowerShell'e alışmanıza yardımcı olacağı için nano kullanmanızı önerir.

Nano'yu kurmak için Chocolatey'i kullanın:

choco install -y nano

-y bayrağı, onay istemeden betiği çalıştırmak istediğinizi otomatik olarak onaylar.

Nano'yu yükledikten sonra, yeni metin dosyaları oluşturmak için nano komutunu kullanabilirsiniz. Bu eğitimin ilerleyen kısımlarında, ilk Go programınızı yazmak için bu komutu kullanacaksınız.

Adım 4 – Go'yu yükleyin

Önceki adımda nano'da yaptığınız gibi Go'yu kurmak için Chocolatey'i kullanacaksınız:

choco install -y golang

Not: Go çok kısa bir kelime olduğundan, paket yüklemek ve internette Go ile ilgili makaleler aramak için golang terimini kullanmak yaygınlaştı. Golang terimi, golang.org adlı Go alan adından doğmuştur.

PowerShell artık Go'yu yükleyecek ve bu işlem sırasında PowerShell'de çıktı üretecektir. Kurulum tamamlandığında aşağıdaki çıktıyı görmelisiniz:

Output
Environment Vars (like PATH) have changed. Close/reopen your shell to
see the changes (or in powershell/cmd.exe just type `refreshenv`).
The install of golang was successful.
Software installed as 'msi', install location is likely default.
Chocolatey installed 1/1 packages.
See the log for details (C:\ProgramData\chocolatey\logs\chocolatey.log).

Kurulum tamamlandığında, Go'nun yüklendiğini onaylıyorsunuz. Değişiklikleri görmek için PowerShell'i kapatıp Yönetici olarak yeniden açın ve ardından yerel makinenizdeki Go sürümünü kontrol edin:

go version

Aşağıdakine benzer bir çıktı alacaksınız:

Output
go version go1.12.1 windows/amd643.7.0

Go'yu kurduktan sonra geliştirme projeleriniz için bir çalışma alanı oluşturabilirsiniz.

Adım 5 – Go çalışma alanınızı oluşturun

Artık Chocolatey, nano ve Go'yu kurduğunuza göre programlama çalışma alanınızı oluşturabilirsiniz.

Go çalışma alanı kökünde iki dizin içerecektir:

  • src: Go kaynak dosyalarını içeren dizin. Kaynak dosyası, Go programlama dilini kullanarak yazdığınız bir dosyadır. Kaynak dosyaları, Go derleyicisi tarafından çalıştırılabilir bir ikili dosya oluşturmak için kullanılır.
  • bin: Go aracı tarafından oluşturulup yüklenen yürütülebilir dosyaları içeren bir dizin. Yürütülebilir dosyalar, sisteminizde çalışan ve görevleri gerçekleştiren ikili dosyalardır. Bunlar genellikle kaynak kodunuzdan veya indirilen diğer Go kaynak kodlarından derlenen programlardır.

src alt dizini birden fazla sürüm kontrol deposu (Git, Mercurial ve Bazaar gibi) içerebilir. Uygulamanız üçüncü taraf kütüphaneleri içe aktardığında, github.com veya golang.org gibi dizinleri görürsünüz. Github.com gibi bir kod deposu kullanıyorsanız, projelerinizi ve kaynak dosyalarınızı da bu dizine koyarsınız. Bu, kodu projenize standart olarak içe aktarmanıza olanak tanır. Standart içe aktarma, github.com/digitalocean/godo gibi tam nitelikli bir paketi işaret eden bir içe aktarmadır.

Tipik bir çalışma alanı şöyle görünebilir:

.
├── bin
│ ├── buffalo # command executable
│ ├── dlv # command executable
│ └── packr # command executable
└── src
└── github.com
└── digitalocean
└── godo
├── .git # Git repository metadata
├── account.go # package source
├── account_test.go # test source
├── ...
├── timestamp.go
├── timestamp_test.go
└── util
├── droplet.go
└── droplet_test.go

1.8 sürümünden itibaren Go çalışma alanı için varsayılan dizin, go veya $HOME/go alt diziniyle birlikte kullanıcı ana dizininizdir. 1.8'den önceki bir Go sürümü kullanıyorsanız, çalışma alanınız için $HOME/go konumunu kullanmak yine de en iyi uygulama olarak kabul edilir.

$HOME dizinine gitmek için aşağıdaki komutu verin:

cd $HOME

Ardından Go çalışma alanınız için dizin yapısını oluşturun:

mkdir go/bin, go/src

Bu, şu dizin yapısının şu anda mevcut olduğundan emin olmanızı sağlar:

└── $HOME
└── go
├── bin
└── src

Go 1.8'den önce, $GOPATH adlı yerel bir ortam değişkeninin ayarlanması gerekiyordu. Bu artık gerekli olmasa da, birçok üçüncü taraf araç hâlâ bu değişkenin ayarlanmasına bağlı olduğundan, bu hala iyi bir uygulama olarak kabul edilmektedir.

Kurulum için Chocolatey kullandığınızdan, bu ortam değişkeni zaten ayarlanmış olmalıdır. Bunu aşağıdaki komutla doğrulayabilirsiniz:

$env:GOPATH

sammy yerine kullanıcı adınızla aşağıdaki çıktıyı görmelisiniz:

Output
C:\Users\sammy\go

Go araçları derleyip kurduğunda, bunları $GOPATH/bin klasörüne yerleştirir. Kolaylık olması açısından, çalışma alanınızın bin alt dizinini $PATH'nize eklemeniz yaygındır. Bunu PowerShell'deki setx komutunu kullanarak yapabilirsiniz:

setx PATH "$($env:path);$GOPATH\bin"

Artık Go aracını kullanarak derlediğiniz veya indirdiğiniz herhangi bir programı sisteminizin herhangi bir yerinde çalıştırmanıza olanak tanıyor.

Artık çalışma alanınızın kök dizinini oluşturduğunuza ve $GOPATH ortam değişkeninizi ayarladığınıza göre, gelecekteki projelerinizi aşağıdaki dizin yapısıyla oluşturacaksınız. Bu örnekte, deponuz olarak github.com kullandığınız varsayılmaktadır:

$GOPATH/src/github.com/username/project

Eğer https://github.com/digitalocean/godo projesi üzerinde çalışıyor olsaydınız, bunu şu şekilde listelerdiniz:

$GOPATH/src/github.com/digitalocean/godo

Projelerinizi bu şekilde yapılandırmak, go get aracıyla erişilebilir olmalarını sağlayacak ve daha sonra okunabilirliklerine de yardımcı olacaktır.

Bunu godo kütüphanesini almak için go get komutunu kullanarak doğrulayabilirsiniz:

go get github.com/digitalocean/godo

Not: Git yüklü değilse, Windows yüklemek isteyip istemediğinizi soran bir iletişim kutusu açacaktır. Devam etmek ve yükleme talimatlarını izlemek için Evet'e tıklayın.

Dizini listelediğinizde godo paketinin başarıyla indirildiğini görebilirsiniz:

ls $env:GOPATH/src/github.com/digitalocean/godo

Şuna benzer bir çıktı alacaksınız:

Output
Directory: C:\Users\sammy\go\src\github.com\digitalocean\godo
Mode LastWriteTime Length Name
---- ------------- ------ ----
d----- 4/10/2019 2:59 PM util
-a---- 4/10/2019 2:59 PM 9 .gitignore
-a---- 4/10/2019 2:59 PM 69 .travis.yml
-a---- 4/10/2019 2:59 PM 1592 account.go
-a---- 4/10/2019 2:59 PM 1679 account_test.go
-rw-r--r-- 1 sammy staff 2892 Apr 5 15:56 CHANGELOG.md
-rw-r--r-- 1 sammy staff 1851 Apr 5 15:56 CONTRIBUTING.md
.
.
.
-a---- 4/10/2019 2:59 PM 5076 vpcs.go
-a---- 4/10/2019 2:59 PM 4309 vpcs_test.go

Bu noktada, bir Go çalışma alanı oluşturdunuz ve gerekli ortam değişkenlerini yapılandırdınız. Şimdi, çalışma alanını biraz kodla test edeceksiniz.

Adım 6 – Basit bir uygulama oluşturun

Artık Go çalışma alanınız hazır olduğuna göre, basit bir "Merhaba Dünya!" programı oluşturun. Bu, çalışma alanınızın doğru şekilde yapılandırılmasını sağlayacak ve aynı zamanda Go'yu daha iyi tanımanıza olanak tanıyacaktır. Gerçek bir proje değil, bir Go kaynak dosyası oluşturduğunuz için, bunu yapmak için çalışma alanınızda olmanız gerekmez.

Ana dizininizden nano gibi bir komut satırı metin düzenleyicisi açın ve yeni bir dosya oluşturun:

nano hello.go

Metin dosyası nano'da açıldıktan sonra programınızı yazın:

package main
import "fmt"
func main() {
fmt.Println("Hello, World!")
}

Nano'dan çıkmak için CTRL ve X tuşlarına basın. Dosyayı kaydetmeniz istendiğinde Y tuşuna ve ardından ENTER tuşuna basın.

Bu kod, fmt paketini kullanır ve Println fonksiyonunu Hello, World! argümanıyla çağırır. Bu, program çalıştığında Hello, World! ifadesinin terminale yazdırılmasına neden olur.

Nano'dan çıkıp kabuğunuza döndüğünüzde şu programı çalıştırın:

go run hello.go

Oluşturduğunuz hello.go programı PowerShell'in aşağıdaki çıktıyı üretmesine neden olmalıdır:

Output
Hello, World!

Bu adımda, Go çalışma alanınızın doğru şekilde yapılandırıldığını doğrulamak için temel bir uygulama kullandınız.

Sonuç

Tebrikler! Bu noktada yerel Windows makinenizde bir Go programlama çalışma alanı kurdunuz ve bir kodlama projesine başlayabilirsiniz!

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Ayrıca Şunları da Beğenebilirsiniz