'잡동사니'에 해당되는 글 13317건
- 2022.04.10 하루 종일 골골골
- 2022.04.09 운전 8시간
- 2022.04.08 으아아아 피로가 안풀려
- 2022.04.07 golang a tour of go offline
- 2022.04.07 jetson / armv8 EL
- 2022.04.07 golang struct
- 2022.04.07 golang pointer
- 2022.04.07 golang switch는 break 가 없다 (fallthough)
- 2022.04.07 golang for 반복문
- 2022.04.07 macos 한영 변환 단축키 변경
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 |
'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 |
'embeded > jetson' 카테고리의 다른 글
nvidia jetson deepstream objectDetector_SSD 플러그인 분석 (0) | 2022.04.13 |
---|---|
nvidia jetson deepstream objectDetector_SSD 실행 스크립트 분석 (0) | 2022.04.13 |
nvidia jetson partition table (0) | 2022.04.06 |
jetson nano 부팅이 안됨 (0) | 2022.04.06 |
deepstream triton server (0) | 2022.03.30 |
구조체 선언은 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) } |
'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 |
변수 타입에 포인터 임을 명시하지, 변수에 포인터를 붙일 수 없도록 문법이 변경 된 듯.
func main() { i, j := 42, 2701 // var p *int var *p int p = &i // p := &i // point to i fmt.Println(*p) // read i through the pointer *p = 21 // set i through the pointer fmt.Println(i) // see the new value of i p = &j // point to j *p = *p / 37 // divide j through the pointer fmt.Println(j) // see the new value of j } |
포인터 참조는 가능하지만, 주소 연산은 지원하지 않는건가..
C언어와는 다르게, Go는 포인터 산술을 지원하지 않습니다. |
'Programming > golang' 카테고리의 다른 글
golang a tour of go offline (0) | 2022.04.07 |
---|---|
golang struct (0) | 2022.04.07 |
golang switch는 break 가 없다 (fallthough) (0) | 2022.04.07 |
golang for 반복문 (0) | 2022.04.07 |
golang 사용자 함수 (0) | 2022.04.07 |
;를 통해 연속된 명령을 수행할 수 있는 것 같고
다음 case가 나오기 전까지만 실행된다.
func main() { fmt.Print("Go runs on ") switch os := runtime.GOOS; os { case "darwin": fmt.Println("OS X.") case "linux": fmt.Println("Linux.") default: // freebsd, openbsd, // plan9, windows... fmt.Printf("%s.\n", os) } } |
[링크 : https://go-tour-ko.appspot.com/flowcontrol/9]
복잡한 if else문을 단순화 하기 위해 쓸 수 있다는데, 가독성이 영...
func main() { t := time.Now() fmt.Println(t) switch { case t.Hour() < 12: fmt.Println("Good morning!") case t.Hour() < 17: fmt.Println("Good afternoon.") default: fmt.Println("Good evening.") } } |
[링크 : https://go-tour-ko.appspot.com/flowcontrol/11]
+
22.04.11
대신 fallthrough를 통해서 다음 것을 실행할 순 있다.
default 구현할때 이걸 꼭 써줘야 한다면 좀 귀찮을 듯.
[링크 : https://golangbyexample.com/fallthrough-keyword-golang/]
'Programming > golang' 카테고리의 다른 글
golang struct (0) | 2022.04.07 |
---|---|
golang pointer (0) | 2022.04.07 |
golang for 반복문 (0) | 2022.04.07 |
golang 사용자 함수 (0) | 2022.04.07 |
golang import (0) | 2022.04.07 |
for 에서는 짧은할당문만 쓰도록 강제되는 것으로 보인다.
func main() { sum := 0 for i := 0; i < 10; i++ { sum += i } fmt.Println(sum) // for var i = 0; i < 10; i++ { // sum -= i // } // fmt.Println(sum) } |
var i =0 식으로 할당하면 for 초기화에서는 var 선언이 허용되지 않는다며 에러를 발생시킨다.
syntax error: var declaration not allowed in for initializer |
[링크 : https://go-tour-ko.appspot.com/flowcontrol/1]
for문에서 초기화, 증감문을 생략 가능하므로 키워드 while은 삭제되고 for로 돌리면 된다.
func main() { sum := 1 for sum < 1000 { sum += sum } fmt.Println(sum) } |
[링크 : https://go-tour-ko.appspot.com/flowcontrol/3]
while(1)이나 for(;;) 보다 간결하게 무한반복을 구현할 수 있다.
func main() { for { } } |
[링크 : https://go-tour-ko.appspot.com/flowcontrol/4]
+
문법 자체는 c와 동일하다.
continue break goto label :label |
'Programming > golang' 카테고리의 다른 글
golang pointer (0) | 2022.04.07 |
---|---|
golang switch는 break 가 없다 (fallthough) (0) | 2022.04.07 |
golang 사용자 함수 (0) | 2022.04.07 |
golang import (0) | 2022.04.07 |
golang 변수 할당문(짧은 변수 선언문) := (0) | 2022.04.07 |
생각해보니 sportlight 잘 안쓰니(솔찍히 간지는 나는데 용도를 모름...)
좌측 command + space를 한영 변환으로 등록!
우측 option을 한영키로 등록할 순 있으나 외부 프로그램 사용이 필요하다고 하니 패스.
[링크 : https://luran.me/486]
'Apple' 카테고리의 다른 글
macos opengl(cocoa?) (0) | 2022.04.28 |
---|---|
dylib (0) | 2022.04.27 |
macos sshd (0) | 2022.04.07 |
macos cpu 정보확인 (0) | 2022.04.02 |
mac 에서 rtl-sdr 시도.. (0) | 2022.04.02 |