본문 바로가기
반응형

Programming/Golang40

go언어 fyne toolkit으로 gui 프로그래밍 하기 Go언어로 GUI를 만들려고 하니 이것저것 다른 GUI Toolkit을 만져보게 되네요. 오늘은 fyne라는 toolkit을 설치해볼까 합니다. 설치 방법은 비교적 간단한데요. 아래와 같이 입력하면 설치가 됩니다. (기본적으로 MSYS2 가 설치되어있어야 합니다.) go get fyne.io/fyne Hello world부터 띄워보겠습니다. // fyne_hello.go package main import ( "fyne.io/fyne/app" "fyne.io/fyne/widget" ) func main() { a := app.New() w := a.NewWindow("Hello") w.SetContent(widget.NewVBox( widget.NewLabel("Hello Fyne!"), widget.N.. 2020. 4. 5.
andlabs/ui Table예제 코드 Golang으로 테이블을 구현할만한 GUI 라이브러리를 찾고 있는 중, andlabs/ui에서 예제를 발견하여 소스 코드를 올려봅니다. 분석도 좀 필요한데..아직은 그냥 몇몇 부분만 단순화 해놓은 상태입니다. // tabletest.go package main import ( "fmt" "github.com/andlabs/ui" _ "github.com/andlabs/ui/winmanifest" ) type modelHandler struct { row9Text string yellowRow int checkStates [3]int } func (mh *modelHandler) ColumnTypes(m *ui.TableModel) []ui.TableValue { return []ui.TableValue{.. 2020. 3. 30.
windows에 go언어 설치하기 순서가 뒤바뀐 감이 없진 않지만... 저도 배우는 입장이라, 뒤늦게 알게된 것을 바로바로 포스팅합니다.오늘은 Go언어 windows환경에 제대로 설치하기입니다. 순서는1. 설치2. 환경변수 설정3. Hello World 출력이 되겠습니다. 1. GO 설치Go 공식 웹사이트인 http://golang.org/dl 에서 본인의 OS에 맞는 Go를 다운로드하여 설치합니다. Go는 Windows, Linux, Mac OS X 에서 사용할 수 있습니다. Windows에 Go를 설치하기 위해서는 MSI 파일을 다운받아 실행하면 됩니다.Go는 디폴트로 C:\go 폴더에 설치되며, MSI가 C:\go\bin을 PATH 환경변수가 자동으로 추가됩니다. 2. 환경변수 설정Go는 2개의 중요한 환경변수(GOROOT와 GOP.. 2020. 3. 29.
Glade를 활용한 go언어 gui프로그래밍 이번엔 gtk toolkit 전용 GUI Designer인 Glade를 이용하여 Go언어에서 활용해보도록 하겠습니다. 우선 Glade를 설치해야 합니다. linux에서는 비교적 쉽게 찾아서 설치 가능한데요.. 윈도우에서는 조금 설치가 쉽지 않습니다. Mingw를 설치하고 아래의 명령으로 설치를 진행해줍니다. pacman -S mingw-w64-x86_64-glade 빠른 실행을 위해서는 sourceforge 사이트에서 예전버전을 다운받는 것도 괜찮아보입니다. 다음으로는 Glade에서 UI를 적당히 디자인 해줍니다. (glade예제파일) 생각해보니...그냥 적당히는 안될 것 같네요. 1. 최상위 - > GtkWindow 를 선택해주세요. 그리고 아이디를 main_window, 사이즈를 440, 250 으로.. 2020. 3. 26.
Go언어 oracle 연결 Go언어로 Oracle 연결하기 위한 드라이버가 몇가지가 있는데, 그 중 Setting이 간단하고 실행 가능했던 드라이버가 godror 였습니다. 아래는 참조한 사이트이구요..https://blogs.oracle.com/developers/how-to-connect-a-go-program-to-oracle-database-using-goracleHow to Connect a Go Program to Oracle Database using godrorNote: This blog post was updated from the original to reflect the new name for the Go Driver for Oracle Database: godror, ormerly known as goracl.. 2020. 3. 26.
Gotk3를 이용한 go언어 GUI 개발 예제 사내에서 사용할 간단한 GUI프로그램 개발 환경을 구상 중입니다. 배포도 해야해서 VM위에서 돌아가는 Java는 좀 꺼림직하고... 다른 언어로 쓸 수 있는 GUI Toolkit을 찾아보다가 결국 QT/GTK/WxWidgets 로 가야할 것 같은데요. 배포가 어렵다는 C/C++로 가는 것 보다는 요즘 언어인 Go언어로, 그리고 바인딩이 잘 되어있는 GTK로 가보려고 합니다. Go언어 바인딩은 Gotk3가 있습니다. 이번 포스트에서는 Gotk3설치 및 예제 프로그래밍까지 수행해 보겠습니다. 우선 사전 준비해야 하는 작업이 좀 있습니다. 생각보다....(이거 하면서 그냥 Swing써야겠다고 생각하는 중....ㅠㅠ) 1. git 설치 2. MinGW-w64설치(MSYS2설치) 3. GTK 및 dependenc.. 2020. 3. 16.
andlabs/ui 를 이용한 go언어 GUI개발 예제 Go 언어로 간단한 GUI 구현을 위한 라이브러리로 andlabs/ui라는게 있습니다. 나중에 포스팅할 Glade 같은 GUI designer를 사용하여 구현할 정도가 아니라 간단한 GUI수준을 위해서는 괜찮은 방법인 것 같습니다. 우선 Linux에서 설치는go get github.com/andlabs/ui로 터미널에 입력하여 설치해줍니다.Windows환경에서는 MinGW를 실행해서 설치해야 합니다. 그리고 아래의 예제코드를 입력하고 실행하면...package main import ( "github.com/andlabs/ui" _ "github.com/andlabs/ui/winmanifest" ) func main() { err := ui.Main(func() { input := ui.NewEntry().. 2020. 3. 16.
Go언어 초간단 async 예제 Go언어의 장점 중 하나로 비동기 함수실행을 매우 쉽게 구현한다는 점입니다.비동기 프로그래밍을 직접 해본적이 없어서 잘은 모르지만, 아래 예제를 보니 정말 쉬운 것 같습니다.package main import ( "fmt" "time" ) func say(s string) { for i := 0; i < 10; i++ { fmt.Println(s, "***", i) } } func main() { // 함수를 동기적으로 실행 say("Sync") // 함수를 비동기적으로 실행 go say("Async1") go say("Async2") go say("Async3") // 3초 대기 time.Sleep(time.Second * 3) } 결과C:/Go/bin/go.exe build [D:/5.System_d.. 2020. 3. 16.
Go언어-파일찾기 프로그램 예제 Go 언어로 작성한 파일찾기 프로그램 예제입니다. 검색하고자 하는 Directory와 파일명을 입력하면 찾는 프로그램입니다. 사용 방법은filecheck.exe 과 같이 사용하면 되며, 아래 예시와 같이 사용하면 됩니다. 소스코드는 아래와 같습니다.package main import ( "fmt" "os" "path/filepath" ) var ( targetFolder string targetFile string searchResult []string ) func findFile(path string, fileInfo os.FileInfo, err error) error { if err != nil { fmt.Println(err) return nil } absolute, err := filepath... 2020. 3. 16.
Go언어 - liteIDE설치 및 실행 취미 IT 하면서 참 여러가지 관심분야가 많다는 생각이 드네요. 깊이는 없고... 이것저것 해보고 싶은 건 많고...이번엔 요즘? 한창? 떠오르던 Go언어에 대해 포스팅을 해볼까 합니다. 구글에서 웹이던 앱이던 빠른 속도의 성능을 위해 개발했다던 언어...결과적으로 컴파일 속도만큼은 빨라진 언어...개인적으로 웹 뿐만아니라 데스크탑 앱에도 좀 관심이 있다보니, 실행 성능에 좀 더 비중을 두게 되었는데요...,직접 체험한 건 아니지만 꽤 빠르다고 합니다. C/C++보다는 아니지만 가상머신 위에서 돌아가는 Java나 C# 보다는 빠른 성능을 보인다고 합니다. 물론 인터프리터 언어보다는 당연히 빠르겠죠?게다가 문법도 단순해서 러닝커브, 작성력 또한 빠르다고 하네요. 파이썬만큼은 아니지만.. 오늘 할 일은 1... 2020. 3. 16.
반응형