목록프로그래밍 (24)
y0u_bat
함수func sum(a int, b int) { fmt.Println(a+b)} func sum(a int, b int) int { // int형으로 리턴값이 반환됨return a+b} func sum(a int, b int) (c int) { // 리턴값이 c라는 변수임.c = a+breturn} func sum(a int, b int) (int,int) { // 리턴값이 2개return a-b,a+b } func sum(a int, b int) (c int,d int) { c = a-bd = a+b return } a,b := sum(1,3) 이런식으로 받으면 리턴값이 순서대로 a,b에 들어감. 가변인자func sum(n ...int) int { t := 0for _,v := range n {t +=..
부분 슬라이스 a := []byte("helloworld")fmt.Println(string(a[0:5])) [범위] 결과: hello mapa := map[[키타입]][값타입]{키값:값}b := make(map[[키타입]][값타입]) ex)a := map[string]int{"flag",8888}fmt.Println(a["flag"]) 결과: 8888 ex)a := make(map[string]int)a["flag"] = 8888fmt.Println(a["flag"]) 결과: 8888 이중맵a := map[string]map[string]int{ "game": map[string]int{"hp": 100,"mp": 100,},"game2": map[string]int{"hp":50,"mp":20, },..
조건문 if 조건 { switch 변수 { case 상수: //code//code case 상수: //code} } 반복문for 초기문;조건문;증감문 {//code} Go언어에는 do와 while문은 없습니다. 배열 var [변수명] [배열크기][변수타입] = [배열크기][배열타입]{배열내용}var [변수명] = [배열크기][변수타입]{배열내용}[변수명] := [배열크기][변수타입]{배열내용} 이런식으로 선언이 가능하다.배열의 크기를 지정 안해줘도 된다.
Go언어의 기본틀package mainimport "fmt"func main() { } hello world 출력package mainimport "fmt"func main() {fmt.Printf("hello world %d\n",1)fmt.Println("hello world2",1) } 결과hello world 1hello world2 1 Printf는 C언어의 printf와 매우 비슷합니다.Println는 \n을 안해줘도 자동으로 개행문자가 붙습니다. 변수*참고로 변수중 안쓰는것이 있으면 컴파일할때 에러가 나옵니다.var [변수명] [변수타입] = [초기값] var [변수명] [변수타입] // 초기값을 설정 안해줄거면 변수타입을 꼭 지정 해주어야 한다.var [변수명], [변수명] [변수타입] =..
Go설치https://golang.org/dl/ 에 들어가서 자신 os와 맞는거 패키지 설치하세요.설치후 export PATH=$PATH:/usr/local/go/bin 해주세요. 개발환경구축http://ysoftman.blogspot.kr/2015/01/vim-go.html vim-go 쓰시면 됩니다. 저 블로그가 정리 잘 되어 있어서 올립니다.
int ptrhead_create(phtread_t *thr_id, const pthread_attr_t *attr, void *함수명,void *arg); // 쓰레드 생성 3번째 인자가 쓰레드에 쓰일 함수 int pthread_exit(void *return); // 현재 실행하고 있는 쓰레드 종료할때 사용 int pthread_join(pthread_t thr_id,void **thread_return); // 쓰레드 종료될때까지 기다리다 특정 쓰레드 종료시 자원해제 pthread 쓰레드 예제1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859#include..
chatting_client.cpp123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899#include #include #include #include #include #include #include #include #include #define BUF_SIZE 1024 static pthread_t thr;static int thr_id;static bool thr_exit = true;static char recv_dat..
Server.cpp 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889#include #include #include #include #include #include #include #include #include #include #define BUF_LEN 128int main(int argc,char *argv[]){ char buffer[BUF_LEN]; struct sockaddr_in server_addr,client_addr; char temp[..
링크드리스트 Linklist(추가,수정,삭제,검색,출력) 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158..
C언어 - strcpy 함수구현 ihaechan-ui-MacBook-Pro:C ihaechan$ vi strcpy.c #include void str_cpy(char *dst,char *src); int main(int argc,char *argv[]){ char buf1[] = "i'm love iu\n"; char buf2[] = "me to\n"; printf("%s\n",buf2); str_cpy(buf2,buf1); printf("%s\n",buf2); return 0;} void str_cpy(char *dst,char *src){ int i=0; while(dst[i] = src[i]) { i++; } }