7-3 : Git status, Go method

JJeong·2021년 1월 20일
0

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개의 댓글