Go언어 입문 #1
변수
package main
import "fmt"
func main() {
var a int = 10
var msg string = "Hello"
a = 20
msg = "Good Morning"
fmt.Println(msg, a)
}
Go언어의 특징점
- 세미콜론(;)을 생략해도 된다.
import "fmt"
: 출력을 위해 불러오는 외부 패키지 fmtfmt.Println(msg,a)
: fmt 패키지 내의 Println 출력함수를 실행
괄호 안의 인자들은 여러개일 때
var a int = 10
- 변수를 선언하겠다
- 변수의 이름은 a 이고,
- 변수의 타입은 integer이다.
의 순서대로 변수를 선언해주고, 값은 대입연산자(=)를 통해 대입한다.
타입
- uint (unsigned int) : 부호없는 정수 (다 양수)
8bit(1byte), 16, 32, 64 - int : 부호있는 정수
8, 16, 32, 64 - float : 부호있는 실수
32, 64 - byte : uint8의 별칭
- rune : 문자1개, UTF-8(한글자에 1~3byte) int32의 별칭(4byte)
- int : 컴퓨터에 따라 사이즈가 달라짐 (요즘 컴퓨터엔 대부분 64b)
- bool : true/false (기본값 false)
- string : 문자열 (기본값 "")
- 배열 : 사이즈 정함
- 슬라이스 : 사이즈가 정해져있지 않은 배열
- 구조체 , 포인터 ... 등등
별칭 타입
type myInt int
: int를 myInt라고 별칭을 지정하는 것
변수 선언법
var a int = 10
var a int
: 초기값 생략 가능(정수의 기본값은 0)
var a = 10
: 타입을 생략하려면 초기값 반드시 설정(정수 자동 설정)
a := 10
: var와 타입을 모두 생략할 때. "선언대입문"
타입 변환
연산의 각 항목의 타입이 반드시 같아야 한다.(사이즈가 달라도 안됨)
다를 시 타입변환을 해야 한다.
package main
import "fmt"
func main() {
a := 3 //int
var b float64 = 3.5
var c int = int(b) //타입변환 3.5 -> 3
d := float64(a) * b
var e int64 = 7
f := a * int(e) //int와 int64도 다름
fmt.Println(a,b,c,d,e,f)
//3 3.5 3 10.5 7 21
fmt 패키지를 이용한 텍스트 입출력
표준 출력 함수
- Print() : 출력 (여러값들 사이에 공백X)
- Println() : 출력하고 개행 (여러값들 사이에 공백 띄움)
- Prinf() : 서식(format)에 맞게 출력
fmt.Printf("a: %d b: %d, f: %f\n", a, b, f)
서식 지정자
- %v : 데이터 타입에 맞춰서 기본 형태로 출력
- %T : 데이터 타입 출력
- %t : 불리언 출력
- %e : 지수 형태로 실숫값 출력
- %f : 지수 형태가 아닌 실숫값 그대로 출력
- %g : 값의 크기에 따라 지수형태 혹은 실숫값 그대로 출력
표준 입력 함수
- Scan() : 입력받기
- Scanf() : 서식 형태로 입력받기
- Scanln() : 한 줄을 읽어서 입력받기
var a int
var b int
n, err := fmt.Scanln(&a, &b) //& : 변수의 메모리 주소값
if err != nil {
fmt.Println(err)
} else {
fmt.Println(n, a, b)
}
입력 버퍼
package main
import (
"bufio"
"fmt"
"os"
)
func main() {
stdin := bufio.NewReader(os.Stdin)
var a int
var b int
n, err := fmt.Scanln(&a, &b) //Scanln의 리턴값이 두가지
if err != nil { //문제가 발생하면
fmt.Println(err)
stdin.ReadString('\n') //개행문자가 나올때까지 읽어라
} else {
fmt.Println(a,b)
}
-> 오류 발생으로 인해 버퍼에 남아있는 글자들을 비우기 위해 모두 읽기
Author And Source
이 문제에 관하여(Go언어 입문 #1), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@sheecho0804/Go언어-입문-1저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)