Rovin

블로그 이미지

RovinJ

Go's Declaration Syntax ( function, variable, control flow )

GO 2015. 7. 17. 23:24

Ref : http://blog.golang.org/gos-declaration-syntax


첫문자가 대문자로 시작하면 그 패키지를 사용하는 곳에서 접근할 수 있는 exported Name이 된다고 한다. ( Java에서 접근 제어자 )


기본 자료형

- bool

- string

- int, int8, int16, int32 int64

- uint, uint8 uint16 uint32 uint64 uintptr

- byte // uint8 alias

- rune // int32의 다른 이름 ( alias ) 유니코드 코드 포인트 값을 표현한다

- float32 float64

- complex64 complex128



< Function >

func  함수명 (파라매터1,파라매터2...) (결과값1,결과값2...){

return 결과값1,결과값2

return <== 결과값을 붙이지 않으면 (결과값으로 지정된 변수드를 자동으로 return 한다 

}


# 1

Go는 C,C++,Java와 다르게 매개변수의 타입은 변수명 뒤에 명시한다..

Ex) 

func add( x int, y int ) int {

return x+y

}

# 2

두개 이상의 매개변수가 같은 타입일 때 같은 타입을 취하는 마지막 매개변수에만 타입을 명시하고 나머지는 생략할 수 있다.

Ex)

func add( x, y int ) int {

return x+y

}

# 3

하나의 함수는 여러개의 결과를 반환 할 수 있다

func swap(x,y string)(string,string){

return y,x

}

func main(){

a,b : swap("hello","world") <-- 이부분 두개의 리턴값을 a,b 에 대입!!  즉 a 는 y값을 받고, b는 x값을 받는다...

fmt.Println(a,b)

}


< Variables >

# 1. 변수 선언 var 사용

var x,y,z int = 1,2,3

var c, java = true, "java"


:= 를 사용하게 되면 var와 명시적인 타입 ( int,bool)을 생략할 수 있다. 단 함수 밖에서는 := 를 선언할 수 없다

즉 

var x,y,z int = 1,2,3 과 x,y,z := 1,2,3 은 같다


2. const 선언 

상수는 character,string,boolean, 숫자 타입 중 하나가 될 수 있음 


const xxx = value

const (

xxx = 10

yyyy = 1000

)


< 반복문 >

for 밖에 없다고 한다 

1. for sum < 1000 {}    ( while 문 처럼) 

2. for i :=0; i < 10; i++{}

3. for {}   ( 무한 루프 ) 


< if 문 >

1. if 1 < sum {}

2. if v:=math.Pow(x,y) ; v < lim {}  


위와 같이 if 에서 연산한 값을 넣고 비교 하는 로직을 작성 할 수 있다..... 와우 





'GO' 카테고리의 다른 글

Go's Declaration Syntax ( Structs, Pointers, New, Slices )  (1) 2015.07.18
What is Concurrency?? ㅋㅋ  (0) 2015.07.17
Posted by RovinJ
블로그 이미지

by RovinJ

공지사항

    최근...

  • 포스트
  • 댓글
  • 트랙백
  • 더 보기

태그

  • 우수타
  • 영어공부

글 보관함

«   2025/07   »
일 월 화 수 목 금 토
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

링크

카테고리

분류 전체보기 (60)
Music (0)
@ Studying @ (0)
My Story (6)
IT Story (4)
Hello (0)
Japanese! (0)
English (0)
U-Phone! (0)
AI (0)
machine_learning (0)
deep_learning (0)
Algorithm&DataStructure (1)
Android (1)
Arduino (2)
Apache (2)
ZooKeeper (0)
Applications (0)
formerRoid (0)
Architecture (0)
Books (0)
[Blog2Book]아는 만큼 보이는 데이터베이스.. (0)
[한빛미디어] MySQL 퍼포먼스 최적화 (0)
[O'REILLY] Javascript Patte.. (0)
[Blog2Book] 자바성능을 결정짓는 코딩 습.. (0)
Do it 직접해보는 하둡 프로그래밍 (0)
Do it 반응형 웹디자인 (0)
Clean Code (0)
데이터가 보인다 (0)
Broadcast (5)
Bots (0)
slack (0)
Cloud (0)
AWS (0)
Data_Eng (2)
Hadoop (2)
Spark (0)
DB (2)
Oracle (0)
SQLite (0)
MySQL (1)
MariaDB (1)
NoSQL (0)
DistributedComputing (0)
GO (3)
Groups (0)
CodeForSeoul (0)
BluffingSloth (0)
HTML&CSS (0)
Ruby (0)
Java (26)
Spring (1)
JSP (2)
PlayFramework (1)
Javascript (2)
Jquery (0)
AngularJS (1)
NodeJS (1)
ES6 (0)
React (0)
Linux (0)
MAC (0)
Network (0)
Xmpp (0)
NAS (0)
PHP (0)
Programming (0)
Eclipse (0)
DesignPattern (0)
Git (0)
Project (2)
VidasOne (1)
Panape (0)
Python (0)
SearchEngines (0)
Elastic_Search (0)
Scala (0)
TastyRoad (0)
Etc (1)
OneNote (0)
UX&UI (0)
Machine (0)
Crawler (0)
Design (0)
여행 (0)
유럽여행- 결혼10주년 (0)

카운터

Total
Today
Yesterday
방명록 : 관리자 : 글쓰기
RovinJ's Blog is powered by daumkakao
Skin info material T Mark3 by 뭐하라
favicon

Rovin

  • 태그
  • 링크 추가
  • 방명록

관리자 메뉴

  • 관리자 모드
  • 글쓰기
  • 분류 전체보기 (60)
    • Music (0)
    • @ Studying @ (0)
    • My Story (6)
    • IT Story (4)
    • Hello (0)
    • Japanese! (0)
    • English (0)
      • U-Phone! (0)
    • AI (0)
      • machine_learning (0)
      • deep_learning (0)
    • Algorithm&DataStructure (1)
    • Android (1)
    • Arduino (2)
    • Apache (2)
      • ZooKeeper (0)
    • Applications (0)
      • formerRoid (0)
    • Architecture (0)
    • Books (0)
      • [Blog2Book]아는 만큼 보이는 데이터베이스.. (0)
      • [한빛미디어] MySQL 퍼포먼스 최적화 (0)
      • [O'REILLY] Javascript Patte.. (0)
      • [Blog2Book] 자바성능을 결정짓는 코딩 습.. (0)
      • Do it 직접해보는 하둡 프로그래밍 (0)
      • Do it 반응형 웹디자인 (0)
      • Clean Code (0)
      • 데이터가 보인다 (0)
    • Broadcast (5)
    • Bots (0)
      • slack (0)
    • Cloud (0)
      • AWS (0)
    • Data_Eng (2)
      • Hadoop (2)
      • Spark (0)
    • DB (2)
      • Oracle (0)
      • SQLite (0)
      • MySQL (1)
      • MariaDB (1)
      • NoSQL (0)
    • DistributedComputing (0)
    • GO (3)
    • Groups (0)
      • CodeForSeoul (0)
      • BluffingSloth (0)
    • HTML&CSS (0)
    • Ruby (0)
    • Java (26)
      • Spring (1)
      • JSP (2)
      • PlayFramework (1)
    • Javascript (2)
      • Jquery (0)
      • AngularJS (1)
      • NodeJS (1)
      • ES6 (0)
      • React (0)
    • Linux (0)
    • MAC (0)
    • Network (0)
      • Xmpp (0)
      • NAS (0)
    • PHP (0)
    • Programming (0)
      • Eclipse (0)
      • DesignPattern (0)
      • Git (0)
    • Project (2)
      • VidasOne (1)
      • Panape (0)
    • Python (0)
    • SearchEngines (0)
      • Elastic_Search (0)
    • Scala (0)
    • TastyRoad (0)
    • Etc (1)
      • OneNote (0)
    • UX&UI (0)
    • Machine (0)
      • Crawler (0)
    • Design (0)
    • 여행 (0)
      • 유럽여행- 결혼10주년 (0)

카테고리

PC화면 보기 티스토리 Daum

티스토리툴바