316 단어
2 분
::와 .의 차이점

왜 벌써 알려주는지..#

이제부터는 자주 사용되는 타입들과 함께, 자주 쓰이는 연관 함수, 상수, 메서드를 설명드리려 합니다. 거기서 쓰이는 ::.의 차이를 알아봅시다.

::은 왜써?#

정적인값 안에서 뭔가를 찾을 때 사용됩니다

모듈, 타입, 연관함수, 상수 등을 사용할 때 사용합니다.

예시#

  • std 안의 > fs 모듈 안의 > File 타입의 > create라는 연관 함수(static 함수) 를 사용하는 경우 위처럼 표현할 수 있습니다.
main.rs
std::fs::File::create("test.txt");
  • std::f64::consts의 PI상수를 사용하는경우 아래처럼 표현할 수 있습니다.
main.rs
let pi = std::f64::consts::PI;

.은 왜써?#

값에서 무언가를 호출할 때 사용됩니다!

인스턴스의 메서드 호출, 필드 접근 등에 써요.

예시#

  • s라는 값에서 len이라는 메서드를 호출하는경우 아래처럼 사용할 수 있습니다
main.rs
let s = String::from("hello");
let len = s.len();
  • 구조체(나중에 배울꺼)에서 name필드에 접근하려면 아래처럼 표현할 수 있습니다.
main.rs
struct User {
name: String,
}
let user = User { name: String::from("Alice") };
println!("{}", user.name);