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 설치 시 자동으로 설정되지만, 수동으로 설치한 경우 수동 설정이 필요할 수 있습니다.
----------------------------------------------------