Hello World 출력해보기
package main
import "fmt"
func main() {
fmt.Println("Hello World")
}
위 코드를 작성한 후 터미널에서 다음과 같은 명령어를 입력한다.
위 코드 처럼 모듈을 만들고, (go mod init go/hello) (위에 이미 내가 모듈을 만들었기 때문에 저런 문구가 뜨기 때문에 그냥 넘어가면된다.) go build를 실행하고, ./hello.exe를 실행하면 Hello World가 실행된다.
Go 기본 코드 분석
Go의 기본 코드를 분석하면 코드 구조를 쉽게 알 수 있다.
- package : 현재 파일이 어떤 패키지에 속하는 지를 알려준다.
- import : 어떤 코드에서 다른 패키지에 있는 코드를 사용하기 위해 패키지를 가져오는 것이다.
- func main() {} : c/c++, java의 main함수와 같은 entry point 역할을 한다. API 함수의 경우는 굳이 main을 만들 필요는 없지만, 구동이 필요하다면 main이 있어야 한다.
- fmt.Println() : fmt는 format이라는 의미로 "fmt" 패키지에 있다. 이를 통해 서식 문자로 출력이 가능하다.
Go 타입
- 정적 타입언어이다. 그래서 basic type이 매우 중요하다.
- 정수형 : int, int8, int16, int32, int64, uint, uint8, uint16, uint32, uint64, uinptr
- u가 붙여있다는 것은 부호가 없다는 것, 즉 무조건 양수
- 바이트 : byte 라고 쓰지만 내부적으로 uint8과 같다.
- 문자 : '' 로 표현하며 rune 이라고 표현한다. 내부적으로 int32와 같다.
- 문자열 : ""로 표현하며 string 으로 쓴다.
- 실수형 : float32, float64
- boolean : bool
- 복소수 : complex64, complex128
- 정수형 : int, int8, int16, int32, int64, uint, uint8, uint16, uint32, uint64, uinptr
- 디폴트
- 변수 선언 시 값을 초기화 해주지 않으면 디폴트 값이 들어간다.
- 정수, 실수 : 0
- 문자열 : 빈 문자열("")
- bool : false
- 변수 선언 시 값을 초기화 해주지 않으면 디폴트 값이 들어간다.
- 단축 변수 선언
- 변수의 타입을 명시적으로 선언하고, 나중에 값을 할당하는 대신 := 연산자를 이용하여 선언과 초기화 작업을 동시에 하는 것이다.
package main
import "fmt"
func main() {
var a int = 3
var b int
var c = 4
d := 5
var e = "hello"
f := 3.14
fmt.Print(a, b, c, d, e, f)
}
- 타입 변환
- Go에서는 수학 및 비교 연산에는 동일한 타입의 값만 사용할 수 있다. 따라서 타입이 다른 경우에는 에러가 발생한다. 또한, 변수의 타입이 다른 값을 할당하려고 하면 에러가 발생한다. 때문에 타입 변환이 필요하다.
바꾸려는 타입(변수)
package main
import "fmt"
func main() {
a := 3
var b float64 = 3.5
var c int = int(b)
d := float64(a) * b
var e int64 = 7
f := a * int(e)
fmt.Println(a, b, c, d, e, f)
}
'Language > Go' 카테고리의 다른 글
gorilla/mux - swagger 적용 (0) | 2023.11.16 |
---|---|
GO - sqlboiler (0) | 2023.10.26 |
Go[sqlboiler] - 간단한 게시판 만들기(1.20.8-v) (0) | 2023.10.19 |
Go 게시판 정리- 2 (0) | 2023.10.12 |
Go[postgresql db] - 간단한 게시판 만들기 (0) | 2023.10.11 |