Kotlin 문법( 몰랐던 내용 적기)

박현석·2024년 6월 23일

비트연산자

4.shl(bits) = // 4를 표현하는 비트를 bits만큼 왼쪽으로 이동(부호존재)
7.shr(bits) = // 7을 표현하는 비트를 bits만큼 오른쪽으로 이동(부호존재)

12.ushr(bits) = // 12를 표현하는 비트를 bits만큼 오른쪽으로 이동(부호 없음)

9.and(bits) 9를 표현하는 비트와 bitS를 논리곱
9.or(bits)  		" 			  논리합
9.xor(bits)			"		 	  베타적 연산
78.inv() 78을표현하는 비트를 모두 뒤집음

함수형 프로그래밍중 메개변수에 관한 내용

fun add(name: String, email: String = "default") {
	print(email)
    
}

eamil 의 메개변수값을 "default" 로 지정해주면서 인자를 받아도되고 안받아도 되는 상태로 만들수있음

다양한 인자의 개수를 받을때는

fun add(vararg count: Int) {
	for (num in count) {
	    print(num)
    }
}

add로 넘겨지는 인자의 개수를 vararg 로 지정해주면 어떤 인자값이 들어와도 인자의 배열만큼 사용가능

람다식의 활용

fun main() {
	println(highFunc({ x, y -> x + y }, 10, 20))
}

위와 같은 식을 수행하기 위한 인자를 받기위해서는

fun highFunc(sum: (Int, Int) -> Int, a: Int, b: Int): Int = sum(a, b)

highFunc 함수에 sum인자에 두개의 변수를 집어넣을수 있고, 이를 main에서 활용이 가능하다.

callByValue 라는 값에 의한 호출이란 뜻의 코틀린 언어에서는 함수가 또다른 함수의 인자로 전달되는 경우

callByValue(sum())

과 같은 경우로 sum이라는 함수가 전달될경우를 말한다.
이 상황에서는 sum 이라는 함수가 즉시 호출되어 값을 전달하게된다.

profile
너에게만광대

0개의 댓글