20240829

Go lang, Fyne 프로그래밍 환경 설정- Linux Ubuntu

2024.10월~ Lubuntu linux os를 사용하기 시작하면서, 여러 프로그래밍 언어중에서, golang 언어를 시간 될때만, 특별한 목적은 없이, 온라인게임한다 생각하고, 취미로 가끔 공부시작합니다.

1. golang linux 설치 방법

수동설치방법: golang 웹싸이트에서 파일을 다운받고, 터미널에서 다운받은 폴더로 이동합니다.

1-1./usr/local/go 폴더가 있는 경우- 먼저 폴더를 삭제합니다.

1-2.다운로드한 파일을 압축을 풉니다.

sudo rm -rf /usr/local/go && sudo tar -C /usr/local -xzf go1.23.2.linux-amd64.tar.gz


1-3.환경 변수 에 /usr/local/go/bin을 추가합니다.

     -자신의 계정 폴더로 이동후 - nano .profile  실행후, 마지막 줄에 아래 패스를 추가.

       export PATH=$PATH:/usr/local/go/bin

      - 파일을 저장하고 나온후, source ~/.profile 로 다시 실행

  1-4. golang 설치된거 확인: go version


2.비주얼스튜디오 코드 설치 실행

  Visual studio Code를 홈페이지에서 다운받고(.deb)

  다운받은 폴더로 이동합니다.

  sudo dpkg -i code_1.94.2-1728494015_amd64.deb

  비주얼스튜디오코드를 실행(터미널에서: code)하고, 


  go Extensions(확장)을 설치(ctrl+shift+x) 설치: 검색 go

  - Rich Go language support.. Go Team at Google 설치)


  폴더를 만들고, 

  main.go 파일을 만들어요.


  package main

  import "fmt"


  func main(){

fmt.Println("hello world")

  }    


터미널에서, 아래 명령으로 실행 및 빌드 테스트

go mod init 이름

go run 이름.go

go build


3. Fyne 환경 설정방법: 공식웹싸이트에 docs 문서 보고 하는 것이 가장 좋음.

ubuntu에서 golang 언어 fyne 설치 방법[기록]

[참고사항 기록]

- 대.소문자 구분함( 대소문자 잘못입력시, 우선 import부분에서 지워짐)

-프로젝트 폴더안에 go.mod 있는곳에서 설치해야 됨.

go.mod 파일에서 fyne 버젼이 일치 하지 않으면, 이전 버전을 삭제하고 새로 설치

이전 버젼을 삭제하는 명령: go clean -modcache

특정 버젼을 설치하는 명령: go get fyne.io/fyne@v2.5.1

Go 언어가 OpenGL을 사용하기 위한 패키지를 설치하는 명령어: go get github.com/go-gl/gl

fyne 패키지 설치되었나 확인 방법: go list -m all | grep fyne

fyne 최신버젼 업데이트 방법: go get -u fyne.io/fyne/v2


[Fyne 사용방법]

1. 이전 버전을 먼저 삭제합니다.

   이전 버젼을 삭제하는 명령: go clean -modcache

   

2.패키지 관리자를 사용하여 Go, gcc 및 그래픽 라이브러리 헤더 파일을 설치해야 합니다.

  sudo apt-get install golang gcc libgl1-mesa-dev xorg-dev


3.프로젝트 폴더에 모듈을 먼저 생성: go mod init 이름


4.Fyne 모듈과 헬퍼 도구를 다운로드

  go get fyne.io/fyne/v2@latest

  go install fyne.io/fyne/v2/cmd/fyne@latest


4.데모 실행

  go run fyne.io/fyne/v2/cmd/fyne_demo@latest

  

  이전 버전의 Go에서 데모를 실행 방법

  go run fyne.io/fyne/v2/cmd/fyne_demo


-----------------------------------------------------

package main


import (

        "fyne.io/fyne/v2" // 대 소문자 구분 안하면 import 부분 지워짐

        "fyne.io/fyne/v2/app"

        "fyne.io/fyne/v2/container"

        "fyne.io/fyne/v2/widget"

)


func main() {

        myApp := app.New()

        myWindow := myApp.NewWindow("Hello, Fyne!")


        // 변경될 레이블 생성

        helloLabel := widget.NewLabel("버튼을 누르세요")


        // 버튼 클릭 시 레이블 텍스트 변경

        button := widget.NewButton("확인", func() {

                helloLabel.SetText("안녕하세요!")

        })


        content := container.NewVBox(

                helloLabel,

                button,

        )

        myWindow.SetContent(content)

        myWindow.ShowAndRun()

}

----------------------------------------

go mod init main.go

go run main.go

go build


기타 사항들:

초보자에게 가장 좋은 Golang 책은- Learn Microsoft com 의 

Go 시작하기 - Training | Microsoft Learn 이 책보다 좋은듯 생각되며,

Go 패키지 웹싸이트에서, 패키지 관련 검색이 좋을거 같고,

크롬 웹브라우져를 이용하는 것이 좋을거 같습니다.

OS는 오래된 컴퓨터라면 - Lubuntu 리눅스를 사용시, 가볍고 편합니다.

-----------------------------------------------------------

모든 환경변수 보는 명령어: go env


GO111MODULE=''

Go 모듈 기능을 사용할지 여부를 제어하는 변수입니다.

on: 항상 모듈 모드를 활성화.

off: GOPATH 모드를 사용.

auto: 프로젝트에 go.mod 파일이 있으면 모듈을 사용하고, 없으면 GOPATH를 사용.

GOARCH='amd64'

Go 프로그램이 컴파일될 때 타겟으로 삼을 CPU 아키텍처를 지정합니다.

예: amd64, 386, arm, arm64

GOBIN=''

go install 명령으로 설치된 실행 파일이 저장될 디렉토리를 지정합니다. 이 변수가 설정되지 않았다면, 기본적으로 $GOPATH/bin 디렉토리에 설치됩니다.

GOCACHE='/home/이름/.cache/go-build'

Go의 빌드 캐시가 저장되는 디렉토리입니다. Go는 동일한 빌드를 여러 번 실행할 때 컴파일 시간을 절약하기 위해 캐시를 사용합니다.

GOENV='/home/이름/.config/go/env'

현재 사용 중인 Go 환경 설정 파일의 경로입니다.

GOOS='linux'

Go 프로그램이 타겟으로 삼을 운영 체제를 지정합니다.

예: linux, darwin (macOS), windows

GOPATH='/home/이름/go'

Go의 작업 공간을 나타내는 환경 변수입니다. 이 디렉토리는 Go 소스 파일, 패키지, 바이너리 파일이 저장되는 곳입니다. 기본적으로 $HOME/go로 설정되며, 여기에는 src, bin, pkg 디렉토리가 포함됩니다.

GOROOT='/usr/lib/go-1.22'

Go의 설치 경로를 나타냅니다. 이 경로는 Go 컴파일러와 표준 라이브러리가 설치된 위치를 가리킵니다.보통 Go 설치 시 자동으로 설정되지만, 수동으로 설치한 경우 수동 설정이 필요할 수 있습니다.

----------------------------------------------------