7-3 : Git status, Go method

JJeong·2021년 1월 20일

Staged는 git add 명령어를 통해 Staging Area에 내역을 추가한 상태이며, git commit 명령을 통해한 Commit한 경우 Committed 상태입니다.

git status 명령어는 Git 프로젝트의 상태를 확인할 수 있는 명령어입니다.

파일을 만든 직후 git satus를 하니 Untracked files 목록에 방금 만든 firstFile.txt 파일이 있습니다.
아직 git add나 git commit을 하지 않았기에 Untracked 상태이며, Git이 추적관리 하고 있지 않은것입니다.

Staged 된 내역만을 Commit하기 때문에 Git 저장소에는 '두 번째 추가 내용' 의 변경사항만 커밋 되었고, '세 번째 추가 내용' 의 변경 사항은 워킹 디렉터리의 firstFile.txt에 남아 있는 것입니다.


메소드와 함수의 차이가 주로 문법적인 것임을 알 수 있고, 우리는 용도(use case)에 맞게 적절한 추상화기법을 사용하는게 좋을 것입니다.

한 가지 아주 유용한 메소드의 속성은 우리의 코드를 클린하게 유지하면서도 메소드들을 같이 묶을 수 있다는 것입니다. (the ability to chain them together)

type Person struct {
	Name string
	Age  int
}

func (p *Person) withName(name string) *Person {
	p.Name = name
	return p
}

func (p *Person) withAge(age int) *Person {
	p.Age = age
	return p
}

func main() {
	p := &Person{}

	p = p.withName("John").withAge(21)
	
  fmt.Println(*p)
  // {John 21}
}

만약 우리가 함수로 같은 걸 하려했다면, 꽤 끔찍하게 보였을 것입니다.

p = withName(withAge(p, 18), "John")

0개의 댓글