코딩/GoLang 18

GoLang 배열 및 배열의 값 복사, 참조 복사

안녕하세요? 오늘은 GoLang에서 배열(Array)에 대해 예제를 통해 알아 보겠습니다. 1. golang(고랭) 배열(Array) 사용 방법 package main import "fmt" func main(){ var x[5] int// Array 선업 x[0]=10// 특정 index에 값 지정 x[4]=20// 순서에 상관없이 특정 index에 값 지정가능 x[1]=30 x[3]=40 x[2]=50 fmt.Println("Values of Array X: ",x) // 배열 선언 및 초기화(특정위치에 초기화 가능) y := [5]int{0:100,1:200,3:500} fmt.Println("Values of Array Y: ",y) // 배열 선언 및 초기화 Country := [5]string..

코딩/GoLang 2021.02.03

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

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의 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

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