일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 오블완
- 스카이라인 열차
- 스프링부트
- ui 커스텀
- JMeter
- 가발자 인사이드아웃
- 자동화
- 기능 많은 브라우저
- 성능테스트
- 코코테라스
- 대규모 시스템 설계
- 알고리즘 추천
- spring boot
- aws
- 소프트웨어 지표
- 알고리즘사이트
- 브라우저 단축키
- 알고리즘초보
- 프로그래밍
- 초년생
- 코드트리
- 코딩
- 커스텀단축키
- 편한 즐겨찾기 편집
- 알고리즘분류
- mac 화면분할
- 알고리즘
- Java
- 조가사키 해안
- 판교퇴근길밋업
- Today
- Total
영감을 (inspire) 주고픈 개발 블로그
[프로그래밍 언어] Go언어 문법적 특징을 보자! -1 본문
http://inspire12.tistory.com/9
Go 언어 파헤치기에 이어서 Go 언어의 문법적 특징을 비교하려고 한다.
일단 기본적으로 C++와의 비교를 기준으로 할 생각이다.
tour of go 를 하면서 필수적인 내용과 실습에서 내가 느낀 에로사항을 적을 것이기 때문에
이 글을 읽고 튜토리얼을 진행해보는 걸 추천한다. (https://golang.org/#)
* 읽기 전에 Go 단순하고 실용적인 걸 추구 하기 위해
예약어를 최소화한다는 걸 알아가자!
객체 사용하지 않음(struct 대체)
1. C, C++, Java 언어와 다르게 매개변수의 타입은 변수명 뒤에 명시합니다.
(왜 뒤에 명시하는 지 https://blog.golang.org/gos-declaration-syntax)
2.여러개의 결과를 반환 할 수 있다.
func swap(x,y string)(string, string){ // 매개변수 / 반환 값(이름(선언) 붙일 수 있음)
return y,x;
}
a,b := 함수();
3. 반복문은 for만 지원, ()는 필요하지 않고 {} 는 필요하다(if)도 //조건문만 써서 for 쓰면 while 이지
4. Go의 기본 자료형
bool string int int8 int16 int32 int64 uint uint8 uint16 uint32 uint64 uintptr byte // uint8의 다른 이름(alias) rune // int32의 다른 이름(alias) // 유니코드 코드 포인트 값을 표현합니다. float32 float64 complex64 complex128
5. 구조체, c++과 유사 (객체는 없다)
*포인트 개념을 접목시켰다. / 포인터 연산은 없음(포인터 사용해서 변경해야 실제 내용도 변경된다)
new 를 통해 포인터 반환
var t *T = new(T) 혹은 t := new(T) 이런 식
6. 배열 , 슬라이스란 개념으로 배열 값 가리킨다. 이걸로 배열 일부분을 쉽게 가져올 수 있다.
https://go-tour-kr.appspot.com/#31
7. 맵 (해쉬 처리)
m
의 요소를 삽입하거나 수정하기:
m[key] = elem
요소 값 가져오기:
elem = m[key]
요소 지우기:
delete(m, key)
키의 존재 여부 확인하기:
elem, ok = m[key]
* tour guide 에서 string을 import 해서 word 단위로 짤라줘야한다.
import (
"code.google.com/p/go-tour/wc"
"strings"
)
1편은 여기까지 쓰고 2편에서 심화된 부분을 다뤄야 겠다.
좀 써보면서 많이 쓰이는 문법 위주로 따로 정리해야겠다.