'Programming/golang'에 해당되는 글 107건

  1. 2022.08.30 golang mariadb 연동
  2. 2022.08.18 golang channel
  3. 2022.07.20 golang unused import
  4. 2022.07.15 golang websocket package
  5. 2022.04.18 go run ./ 2
  6. 2022.04.13 golang module
  7. 2022.04.11 golang 구조체
  8. 2022.04.11 golang defer와 if
  9. 2022.04.07 golang a tour of go offline
  10. 2022.04.07 golang struct
Programming/golang2022. 8. 30. 12:31

테스트 해보니

localhost:3306 접속시에는 username:password@/dbname 식으로 접속해도 된다.

 

db, _ := sql.Open("mysql", "dellis:@/shud")

[링크 : https://mariadb.com/ko/resources/blog/using-go-with-mariadb/]

[링크 : https://pkg.go.dev/database/sql]

 

db, err := sql.Open("mysql", "root:pwd@tcp(127.0.0.1:3306)/testdb")

[링크 : http://golang.site/go/article/107-MySql-사용---쿼리]

'Programming > golang' 카테고리의 다른 글

golang html form post 처리하기  (0) 2022.09.02
golang http.HandleFunc(pattern)  (0) 2022.08.31
golang channel  (0) 2022.08.18
golang unused import  (0) 2022.07.20
golang websocket package  (0) 2022.07.15
Posted by 구차니
Programming/golang2022. 8. 18. 12:18

<-

이런 연산자가 보여서 먼가 찾아보는 중

 

[링크 : https://etloveguitar.tistory.com/40]

[링크 : https://go.dev/ref/spec#Receive_operator]

[링크 : https://go.dev/ref/spec#Channel_types]

'Programming > golang' 카테고리의 다른 글

golang http.HandleFunc(pattern)  (0) 2022.08.31
golang mariadb 연동  (0) 2022.08.30
golang unused import  (0) 2022.07.20
golang websocket package  (0) 2022.07.15
go run ./  (2) 2022.04.18
Posted by 구차니
Programming/golang2022. 7. 20. 19:04

 

import (
"encoding/json"
"net/http"
"fmt"
"io"

"github.com/go-resty/resty/v2"
"golang.org/x/net/websocket"
)
./main.go:9:2: imported and not used: "github.com/go-resty/resty/v2" as resty

 

밑줄(_) 하나 넣어주면 넘어가긴 한다.

다만, 사용시에는 _를 빼줘야 정상적으로 인식해서 넣으나 마나하니.. 걍 주석처리 하는게 귀찮아도 나을 지도..?

import (
"encoding/json"
"net/http"
"fmt"
"io"

_ "github.com/go-resty/resty/v2"
"golang.org/x/net/websocket"
)

[링크 : https://stackoverflow.com/questions/25924749/import-and-not-used-error]

[링크 : https://knight76.tistory.com/entry/golang-imported-and-not-used]

[링크 : https://go.dev/doc/faq#unused_variables_and_imports]

'Programming > golang' 카테고리의 다른 글

golang mariadb 연동  (0) 2022.08.30
golang channel  (0) 2022.08.18
golang websocket package  (0) 2022.07.15
go run ./  (2) 2022.04.18
golang module  (0) 2022.04.13
Posted by 구차니
Programming/golang2022. 7. 15. 19:07

아래처럼 넣어주면 끝.

 

package main

import (
"fmt"
"log"

"golang.org/x/net/websocket"
)

func main() {
origin := "http://localhost/"
url := "ws://localhost:12345/ws"
ws, err := websocket.Dial(url, "", origin)
if err != nil {
log.Fatal(err)
}
if _, err := ws.Write([]byte("hello, world!\n")); err != nil {
log.Fatal(err)
}
var msg = make([]byte, 512)
var n int
if n, err = ws.Read(msg); err != nil {
log.Fatal(err)
}
fmt.Printf("Received: %s.\n", msg[:n])
}

[링크 : https://pkg.go.dev/golang.org/x/net/websocket]

'Programming > golang' 카테고리의 다른 글

golang channel  (0) 2022.08.18
golang unused import  (0) 2022.07.20
go run ./  (2) 2022.04.18
golang module  (0) 2022.04.13
golang 구조체  (0) 2022.04.11
Posted by 구차니
Programming/golang2022. 4. 18. 19:15

 

$ cat hello.go 
package main

import "fmt"

func main() {
fmt.Println("Hello world")
hello()
}

$ cat func.go 
package main

import "fmt"

func hello() {
fmt.Println("Hello world 2")
}

$ go run .
go: go.mod file not found in current directory or any parent directory; see 'go help modules'

$ go mod init
go: creating new go.mod: module go2
go: to add module requirements and sums:
go mod tidy

$ go run .
Hello world
Hello world 2

'Programming > golang' 카테고리의 다른 글

golang unused import  (0) 2022.07.20
golang websocket package  (0) 2022.07.15
golang module  (0) 2022.04.13
golang 구조체  (0) 2022.04.11
golang defer와 if  (0) 2022.04.11
Posted by 구차니
Programming/golang2022. 4. 13. 10:11

C언어 처럼 단순(?)한게 아니라 자바의 패키지 처럼

모듈로 만들어야 끌어올 수 있다고 한다.

 

[링크 : https://tutorialedge.net/golang/go-modules-tutorial/]

[링크 : https://www.digitalocean.com/community/tutorials/how-to-use-go-modules]

 

[링크 : https://velog.io/@comdori-web/Go-package와-module]

'Programming > golang' 카테고리의 다른 글

golang websocket package  (0) 2022.07.15
go run ./  (2) 2022.04.18
golang 구조체  (0) 2022.04.11
golang defer와 if  (0) 2022.04.11
golang a tour of go offline  (0) 2022.04.07
Posted by 구차니
Programming/golang2022. 4. 11. 16:27

변수타입이 뒤로 가는 걸 제외하면 문법은 그대로~

 

package main

import "fmt"

type Vertex struct {
X int
Y int
}

func main() {
v := Vertex{1, 2}
v.X = 4
fmt.Println(v.X)
}

[링크 : https://go-tour-ko.appspot.com/moretypes/3]

'Programming > golang' 카테고리의 다른 글

go run ./  (2) 2022.04.18
golang module  (0) 2022.04.13
golang defer와 if  (0) 2022.04.11
golang a tour of go offline  (0) 2022.04.07
golang struct  (0) 2022.04.07
Posted by 구차니
Programming/golang2022. 4. 11. 16:14

go는 c 처럼 if (조건문)로 쓸수도 있고 if 조건문 으로 괄호 생략하고 쓸 수 도 있다

다만 { } 는 if와 동일한 라인

} else { 는 무조건 동일 라인으로 해주어야 한다.

 

파이썬이 싫은 이유가  golang에도 동일하게 존재하게 되다니 ㅠㅠ

 

package main

import "fmt"

func main() {
fmt.Println("counting")

for i := 0; i < 10; i++ {
if (i % 2 == 0) {
defer fmt.Println(i)
} else {
fmt.Println(i)
}
}

fmt.Println("done")
}

 

defer는 연기된 함수 호출이 쌓였다가 실행되는데 stack 이라 선입후출이다.

그런데 수정해서 아래와 같은 결과를 얻었는데.. 어떤 scope까지 쌓이다가 실행 되는걸까?

counting
1
3
5
7
9
done
8
6
4
2
0

 

[링크 : https://go-tour-ko.appspot.com/flowcontrol/13]

[링크 : https://www.callicoder.com/golang-control-flow/]

 

+

흐음.. 함수 단위에서 써야지 메인문에서 쓰긴 애매한 기능이군.

c와는 달리 garbage collector가 들어있어서 malloc-free 쌍은 필요 없을듯 하지만

그런식의 초기화, 삭제가 필요한 구조가 한 함수에 존재한다면(1회성)

초기화 하면서 삭제 함수를 defer 해두면 좀 편해질 것 같다.

특정 함수가 현재 함수가 끝나기 직전 실행하는 기능이다.

[링크 : https://deep-dive-dev.tistory.com/22]

'Programming > golang' 카테고리의 다른 글

golang module  (0) 2022.04.13
golang 구조체  (0) 2022.04.11
golang a tour of go offline  (0) 2022.04.07
golang struct  (0) 2022.04.07
golang pointer  (0) 2022.04.07
Posted by 구차니
Programming/golang2022. 4. 7. 18:25

go 설치하고

go install을 이용해서 tour 를 설치하면

$ go install golang.org/x/website/tour@latest

 

일단 mac에서 테스트 했는데 home 디렉토리 기준 ~/go/bin/tour 에 a tour of go 실행 파일이 존재한다.

실행하면 사파리 실행되면서 자동으로 보인다

$ go env | grep GOPATH
$ ~/go/bin/tour

[링크 : https://go.dev/tour/welcome/3]

'Programming > golang' 카테고리의 다른 글

golang 구조체  (0) 2022.04.11
golang defer와 if  (0) 2022.04.11
golang struct  (0) 2022.04.07
golang pointer  (0) 2022.04.07
golang switch는 break 가 없다 (fallthough)  (0) 2022.04.07
Posted by 구차니
Programming/golang2022. 4. 7. 12:27

구조체 선언은 type 키워드로 시작한다.

그나저나 {}와 ()의 규칙은 아직도 감이 잘 안오네..

 

type Vertex struct {
X int
Y int
}

func main() {
fmt.Println(Vertex{1, 2})
}

[링크 : https://go-tour-ko.appspot.com/moretypes/2]

 

구조체는 함수는 아니니까 () 대신 {}로 인자를 넘겨 변수를 생성하는 걸까?

v := Vertex{1, 2}
v.X = 4
fmt.Println(v.X)

[링크 : https://go-tour-ko.appspot.com/moretypes/3]

 

go도 전역변수를 지원하는 걸까?

c99에서 지원하는 구조체 변수명으로 지정 초기화 하는 기능이 기본으로 들어있는 듯.

type Vertex struct {
X, Y int
}

var (
v1 = Vertex{1, 2}  // has type Vertex
v2 = Vertex{X: 1}  // Y:0 is implicit
v3 = Vertex{}      // X:0 and Y:0
p  = &Vertex{1, 2} // has type *Vertex
)

func main() {
fmt.Println(v1, p, v2, v3)
}

[링크 : https://go-tour-ko.appspot.com/moretypes/5]

 

타입선언하면서 바로 변수로 만들기도 가능.

func main() {
q := []int{2, 3, 5, 7, 11, 13}
fmt.Println(q)

r := []bool{true, false, true, true, false, true}
fmt.Println(r)

s := []struct {
i int
b bool
}{
{2, true},
{3, false},
{5, true},
{7, true},
{11, false},
{13, true},
}
fmt.Println(s)
}

[링크 : https://go-tour-ko.appspot.com/moretypes/9]

'Programming > golang' 카테고리의 다른 글

golang defer와 if  (0) 2022.04.11
golang a tour of go offline  (0) 2022.04.07
golang pointer  (0) 2022.04.07
golang switch는 break 가 없다 (fallthough)  (0) 2022.04.07
golang for 반복문  (0) 2022.04.07
Posted by 구차니