IT/Go 8

log 패키지

-  Go 언어의 표준 라이브러리로, 로그 메시지를 기록하는 데 사용된다- 다양한 로그 메시지 형식을 지원하며, 로그 메시지를 파일, 표준 출력, 표준 오류 출력 등으로 보낼 수 있다. https://pkg.go.dev/log log package - log - Go PackagesDiscover Packages Standard library log Version: go1.23.5 Opens a new window with list of versions in this module. Published: Jan 16, 2025 License: BSD-3-Clause Opens a new window with license information. Imports: 8 Opens a new window with ..

IT/Go 2025.01.30

defer

- Go에서 함수 호출이 종료될 때까지 실행을 미루는 데 사용되는 키워드- 함수 종료 시점에 실행된다.- 함수가 끝나기 전에 특정 코드가 실행되도록 예약할 수 있다.- 주로 자원 해제, 파일 닫기, 락 해제 등 "정리 작업"을 수행하는 데 사용된다.- 여러 개의 defer는 LIFO 방식으로 실행된다.- defer는 함수가 return을 만나기 전에 실행되는 코드의 예약을 설정한다- defer로 예약된 함수는, return이 실행된 후, 현재 함수의 스택이 모두 정리된 후에 호출된다.package mainimport "fmt"func myFunction() { defer fmt.Println("Deferred message") // return 전에 이 코드가 실행됨 fmt.Println("..

IT/Go 2025.01.30

메서드 리시버

func (리시버 변수명 리시버 타입) 메서드 이름(입력 파라미터) 출력값 { // 함수 본문} - Go언어에서 메서드리시버는 함수가 특정 타입에 속하도록 하는 기능- 메서드 리시버는 함수 이름 앞에 위치- 함수가 특정 타입의 메서드임을 나타낸다- 이를 통해 해당 타입의 인스턴스에서 메서드를 호출할 수 있다. 예)type MySQLDAO struct { db *sql.DB}func (dao *MySQLDAO) Close() error { if err := dao.db.Close(); err != nil { return fmt.Errorf("failed to close MySQL connection: %v", err) } return nil}func main() { ..

IT/Go 2025.01.29

Golang Live Reloading command line utility

Go 프로그램은 컴파일된 실행 파일로 실행되기 때문에 소스 코드를 수정할 때마다 프로그램을 다시 실행해야 변경 사항이 반영된다.이를 위해 go run  명령을 사용하여 프로그램을 다시 실행해야 한다.하지만 개발 중에는 파일이 수정될 때 자동으로 프로그램을 다시 실행해주는 도구를 사용할 수 있다.reflex 또는 air와 같은 도구를 사용하면 파일이 변경될 때 자동으로 프로그램을 다시 실행할 수 있다.파일 변경을 감지하고 자동으로 프로그램을 다시 실행해주므로, 개발 중에 매우 유용하다. Air와 ReflexAir는 보통 실시간 스트리밍과 관련된 라이브러리로 사용되며, 실시간으로 사용자 인터페이스를 업데이트하고 처리하는 데 도움을 준다. Air는 대개 Go 언어와 함께 사용되며, 실시간 통신에 최적화된 라이..

IT/Go 2025.01.23

Java Spring Boot 애플리케이션에서 Go REST API 호출

Java 프로젝트에 Go 코드를 직접 합치는 것은 어렵지만, 두 언어로 작성된 애플리케이션을 함께 사용할 수 있는 방법은 있다.가장 일반적인 방법은 Java 애플리케이션과 Go 애플리케이션을 각각 독립적으로 실행하고, 서로 RESTful API를 통해 통신하게 하는 것이다. Java Spring Boot 애플리케이션 설정: - 기존의 Spring Boot 애플리케이션을 유지- 필요한 경우, Spring Boot 애플리케이션에서 Go 애플리케이션의 API를 호출할 수 있도록 RestTemplate 또는 WebClient를 설정Go 애플리케이션 설정: - 앞서 설명한 대로 Go 애플리케이션을 설정하고 RESTful API를 구현 Java 애플리케이션에서 Go 애플리케이션 호출: - Java 애플리케이션에서 ..

IT/Go 2025.01.22

Go 변수, 데이터타입

var 키워드 사용한 변수 선언var 변수이름 타입  값의 할당 var 변수이름 타입변수이름 = 값  선언과 할당의 통합var 변수이름 타입 = 값|   := 단축 선언 연산자 사용- 변수 선언 시 := 를 사용하여 타입을 생략하고 값을 자동으로 추론- 이 방법은 함수 내부에서만 사용 가능 - 권장X변수이름 := 값예시x := 10 // x는 int 타입으로 자동 추론|   여러 변수 선언 예시var x, y intvar x, y int = 100, 200x, y := 10, 20|   상수 선언 const 키워드 사용const Pi = 3.14|   전역 변수 선언 - 전역 변수는 var 키워드 사용하여 함수 외부에서 선언- 모든 함수에서 접근 가능데이터 타입 (C와 많이 비슷)  기본형 (Primit..

IT/Go 2024.12.26

Go언어란

1. 타입스크립트 (TypeScript)개발 회사: 마이크로소프트(Microsoft)발표 연도: 2012년목적: 타입스크립트는 자바스크립트의 상위 집합(Superset)으로, 자바스크립트의 동적 타이핑을 보완하는 정적 타이핑을 제공하여 코드 품질과 유지 보수성을 개선하는 데 초점을 맞추었다.배경: 자바스크립트는 웹에서 널리 사용되는 프로그래밍 언어지만, 동적 타이핑으로 인해 큰 프로젝트에서는 버그나 오류를 찾기 어려운 문제점이 있었다. 마이크로소프트는 이 문제를 해결하기 위해 타입스크립트를 만들었다. 타입스크립트는 컴파일 타임에 오류를 잡아내어 개발자들이 더 안전하고 효율적으로 코드를 작성할 수 있도록 도와준다.주요 특징:정적 타입 시스템클래스 기반 객체 지향 프로그래밍ES6+ 기능을 지원자바스크립트와의..

IT/Go 2024.12.26