코딩 198

GoLang 함수 파라미터에 가변인자 쓰기

안녕하세요? GoLang(고랭) 공부에 도움이 되고자 가변인자 관련 좋은 예제 소개할려고 합니다. 많은 도움이 됐으면 합니다. 1. 함수 파라미터에 가변인자 쓰는 예제 package main import "fmt" func main() { fmt.Println(calculation("Rectangle", 20, 30)) fmt.Println(calculation("Square", 20)) } func calculation(str string, y ...int) int { area := 1 for _, val := range y { if str == "Rectangle" { area *= val } else if str == "Square" { area = val * val } } return area }..

코딩/GoLang 2021.02.03

[JS-중급편-이벤트] 2. 이벤트 캡쳐링, 버블링

지난 튜토리얼에서는 이벤트를 수신하기 위해 addEventListener 함수를 사용하는 방법을 배웠습니다. 이번 튜토리얼에서는 이벤트 캡쳐링(Capturing)과 버블링(Bubbling)에 대해 알아보겠습니다. 이벤트 중단 / 이벤트 진행 본격적인 이해를 돕기 위해 아래 HTML을 봅시다. one two three 보시다시피 별 볼일 없는 HTML입니다. 위 HTML의 DOM 표현은 아래와 같습니다. 자세하게 살펴보겠습니다. buttonOne 요소를 클릭한다고 가정해 보겠습니다. 이전에 배웠던 것처럼 버튼을 클릭하면 우리는 클릭 이벤트가 시작될 것이라는 것을 알고 있습니다. 여기서 중요한 점은 정확히 클릭 이벤트가 시작되는 곳입니다. 클릭 이벤트 (거의 모든 다른 JavaScript 이벤트와 마찬가지로..

코딩/Javascript 2021.02.01

GoLang 클로저 함수

안녕하세요? 고랭의 클로저 함수에 대해 알아 보겠습니다. 클로저는 익명 함수(anonymous function)의 특별한 경우입니다. 클로저는 함수 본문 외부에 정의 된 변수에 액세스하는 익명 함수입니다. 예제를 통해 설명하겠습니다. package main import "fmt" func main() { l := 20 b := 30 func() { // area 라는 int 타입의 변수를 설정합니다. var area int // 이 변수에 l과 b를 이용해 값을 저장합니다. // 그런데 l 과 b는 area가 현재 있는 스코프에 없는 변수입니다. // 그러나 이 익명 함수는 클로저라는 특별한 케이스로 // 본문 외부에 정의된 변수인 l과 b에 액세스 가능합니다. area = l * b fmt.Printl..

코딩/GoLang 2021.01.28

GoLang 익명 함수(Anonymous Function)

안녕하세요? 고랭 익명 함수에 대해 알아 보겠습니다. 익명 함수는 식별자없이 선언 된 함수입니다. 익명 함수는 표준 함수처럼 입력을 받고 출력을 반환 할 수 있습니다. 1. 변수에 할당된 익명 함수 package main import "fmt" // var area 라고 변수를 설정하는 형식인데 // area 변수에 함수를 지정했습니다. // 이 형식도 익명 함수의 일종입니다. var ( area = func(l int, b int) int { return l * b } ) func main() { fmt.Println(area(20, 30)) } 2. 익명 함수에 인수 전달. package main import "fmt" func main() { // 익명함수를 선언한 동시에 실행까지 했습니다. // ..

코딩/GoLang 2021.01.28

GoLang에서의 유저 정의 함수 타입

안녕하세요? 앞 강좌에서 배운 고랭(golang)의 고차함수에 대해 더 살펴볼 시간입니다. 기존 강좌: cpro95.tistory.com/156 GoLang의 Higher Order Function안녕하세요? GoLang의 고차함수(Higher Order Function)에 대해 간단히 알아 보겠습니다. 먼저, 고차 함수는 함수를 인수로 받거나 함수를 반환하는 함수입니다. 즉, 인수로 취하거나 또는 반환되어 다른cpro95.tistory.com 고랭에서는 타입을 유저가 직접 정할 수 있는데 함수타입을 정의해서 고차함수를 이용하는 방법입니다. package mainimport "fmt"func squareSum(x int) func(int) func(int) int { return func(y int) f..

코딩/GoLang 2021.01.28

GoLang의 Higher Order Function

안녕하세요? GoLang의 고차함수(Higher Order Function)에 대해 간단히 알아 보겠습니다. 먼저, 고차 함수는 함수를 인수로 받거나 함수를 반환하는 함수입니다. 즉, 인수로 취하거나 또는 반환되어 다른 함수에서 작동하는 함수를 고차함수라고 부릅니다. 예제를 들어 보겠습니다. package main import "fmt" func sum(x, y int) int { return x + y } // 고차함수 // partialSum 함수는 x 라는 int 타입을 인수로 받고 // 리턴하는 것은 바로 func(int) int 라는 함수를 리턴합니다. func partialSum(x int) func(int) int { // partialSum 함수가 리턴하는게 func(int) int 니까 ..

코딩/GoLang 2021.01.28

GoLang에서 Map Iterate, add, update 하기

안녕하세요? GoLang에서 자료형으로 많이 쓰이는 Map 해쉬테이블을 다루기 위해서는 for range 루프를 사용하면 됩니다. 그리고 map 자료의 간단한 iterate, add, update, delete 에 대해 예제를 통해 알아보겠습니다. package main import "fmt" func main() { // employee 라는 map 타입의 자료가 있습니다. var employee = map[string]int{ "Mark": 10, "Sandy": 20, "Rocky": 30, "Rajiv": 40, "Kate": 50, } // employee map 타입의 자료를 iterate하는 방법은 // for range 문구를 사용하는 겁니다. // key, element 를 지정하면 해당..

코딩/GoLang 2021.01.28

[JS-중급편-이벤트] 1. 자바스크립트 이벤트

눈치채지는 못했겠지만, 대부분의 애플리케이션과 웹사이트는 가만히 있으면 그냥 그 자체로 지루합니다. 애플리케이션과 웹사트가 엄청난 팡파르와 돌풍을 일으키며 시작했지만, 우리가 그 애플리케이션과 상호작용을 하지 않는다면 그 애플리케이션은 가치가 없게 되겠죠. 그 이유는 간단하다. 우리의 애플리케이션(응용 프로그램)은 우리가 하고자 하는 행동에 반응하기 위해 존재합니다. 우리가 침대에서 일어나 하루를 준비하듯 응용 프로그램도 나름 각각의 동기부여가 내재되어 있습니다. 응용 프로그램이 하는 일은 우리가 그 프로그램에게 무엇을 하라고 지시하는 겁니다. 바로 이 점이 오늘의 주제입니다. 우리가 응용 프로그램들에게 무엇을 해야 하는지 지시한다면 반대로 그 프로그램은 어떻게 알아챌까요? 바로 이벤트라는 것에 반응되도..

코딩/Javascript 2021.01.28

GoLang에서 URL 파싱하기

안녕하세요? Go 언어(GoLang)은 웹 개발에 아주 유용한 언어인데요. 웹 개발에서 가장 중요한 URL 파싱에 대해 예제를 통해 알아 보겠습니다. 위 그림처럼 먼저 URL 구조체의 구성요소에 대해 알고 있어야 합니다. Scheme, Opaque, User, Host, Path, RawPath, ForceQuery, RawQuery, Fragment, RawFragment가 있습니다. 각각의 예제는 아래 코드를 참조해서 이해하면 빠릅니다. package main import ( "fmt" "log" "net" "net/url" "strings" ) func main() { // URL 파싱을 위한 예제 URL을 모은 스트링 타입의 슬라이스입니다. // 각종 예제를 위해 어려운 URL만 모아 놨습니다. ..

코딩/GoLang 2021.01.26

Go 언어, GoLang 강좌 튜토리얼 소개

안녕하세요? 개인적으로 Go 언어에 대해 호감이 생겨 몇년 전부터 독학으로 공부하고 있었습니다. 여기 제가 인터넷에서 Go 언어에 대해 공부한 유용한 사이트를 소개할려고 합니다. 그리고 앞으로 이 블로그에서는 Go 언어 샘플 코드를 분석하는 기회를 가져 볼 까 합니다. 많은 관심 부탁드립니다. 1. Go 프로그래밍 입문(An Introduction to Programming in Go) http://codingnuri.com/golang-book/index.html Go 프로그래밍 입문 codingnuri.com 2. 예제로 배우는 Go 프로그래밍 http://golang.site/ 예제로 배우는 Go 프로그래밍 쉽고 재미있는 Go 프로그래밍 예제로 배우는 Go 프로그래밍 I like a lot of t..

코딩/GoLang 2021.01.26