전체 글 73

golang Line Filters

라인 필터(Line Filters)는 표준입력 혹은 파일로 부터 읽은 데이터를 변형해서 출력하기 위해서 사용한다. grep이나 sed 같은 프로그램들이 전형적인 라인필터 프로그램이다. grep 같은 경우 데이터를 줄 단위로 읽어서 일치하는 문자열이 있으면 출력하고, sed는 문자열을 치환하거나 삭제하는 등의 일을 한다. main.gopackage mainimport ( "bufio" "fmt" "os" "strings")func main() { scanner := bufio.NewScanner(os.Stdin) for scanner.Scan() { ucl := strings.ToUpper(scanner.Text()) fmt.Println(ucl) } if err := scanner.Err(); err..

golang 2025.07.24

golang 정규표현식

Go에서 제공하는 regexp패키지를 이용해서 정규표현식을 이용 할 수 있다. MatchString()메서드는 정규표현에 일치하는 문자열이 있는지를 검사한다. 일치할 경우 true를 반환한다. MatchString()에서는 문자열에 대한 패턴매칭을 즉시수행 했다. 하지만 많은 경우 패턴을 저장해 놓고 사용하게 될 것이다. Compile()메서드를 이용 해서 정규식이 필요 할 때마다 컴파일 할 수 있다. FindString()메서드로 일치하는 문자열을 찾을 수 있다. 일치는 한번만 이루어진다. 전체 문자열에서 일치하는 문자열을 찾기 위해서는 FindAllString()메서드를 이용하면 된다. Index가 붙는 메서드들은 일치하는 문자열의 위치를 반환한다. Submatch가 붙는 메서드들은 submatch되..

golang 2025.07.24

golang fmt 형식

fmt 패키지의 형식화된 출력에는 디버깅 목적으로 사용 할 수 있는 여러가지 출력 옵션들을 가지고 있다. format설명%v구조체의 값을 출력한다.%+ek.구조체의 필드이름과 값을 출력한다.%#g호출된 함수이름과 구조체의 이름 같은 소스코드 정보까지 함께 출력한다.%T타입을 출력한다.%t불리언의 값을 true 혹은 false 문자열로 출력한다.%dInteger 값을 출력하기 위해서 사용한다. 10자리 크기의 정수를 포함한 문자열 형식을 가진다.%b이진(바이너리)값을 출력한다.%c정수에 해당하는 문자를 출력한다.%xHex 인코딩 값을 출력한다.% xHex 인코딩 값을 출력한다.%f부동 소숫 점 값을 출력한다.%e과학적 표기법으로 출력한다.%E과학적 표기법으로 출력한다. %e와 다른점은 e가 대문자인지 소문..

golang 2025.07.24

golang map 동기화

map 자료 타입을 전역 변수로 사용할 때 mutex를 사용하지 않으면 다음과 같은 오류가 발생한다. fatal error: concurrent map writes fatal error: concurrent map read and map write main.gopackage mainimport ( "fmt" "sync" "time")var clientMap map[int]boolfunc main() { clientMap = make(map[int]bool, 11000) fmt.Println(len(clientMap)) mutex := sync.Mutex{} go Len1() go Len1() go Set2(&mutex) go Set2(&mutex) time.Sleep(time.Second) go Get2..

golang 2025.07.24