본문 바로가기

분류 전체보기95

Functions part Two naked return package main import ( "fmt" "strings" ) func lenAndUpper(name string) (length int, upper string) { length = len(name) upper = strings.ToUpper(name) return } func main() { totalLength, upper := lenAndUpper("name") fmt.Println(totalLength, upper) } return할 variable을 명시하지 않아도 함수 부분에 직접 넣어줄 수 있다 defer function이 끝났을 때 추가적으로 무엇인가 동작 하게 할 수 있다. package main import ( "fmt" "strings" ) func .. 2022. 2. 13.
Functions part One package main import "fmt" func multiply(a, b int) int { return a * b } func main() { fmt.Println(multiply(3, 4)) } 함수 인자에 type을 설정해주고 return 값에도 type을 설정해주어야 한다. 여러 개의 return 값 반환 package main import ( "fmt" "strings" ) func lenAndupper(name string) (int, string) { return len(name), strings.ToUpper(name) } func main() { totalLength, Up := lenAndupper("gunwoo") fmt.Println(totalLength, Up) } 6 GU.. 2022. 2. 13.
Variables and Constants Variables : 변수, 값 변경 가능 Constants : 변수지만 값을 바꿀 수 없음 const import "fmt" func main() { const name string = "name" fmt.Println(name) } 함수에는 type을 설정해 주어야 한다. const name string(type) = "name" Var package main import "fmt" func main() { var name string = "name" name = "gun" fmt.Println(name) } name은 gun을 출력한다 => var는 변경 가능하기 때문 Type 자동 인식 package main import "fmt" func main() { name := "name" fmt.Pri.. 2022. 2. 13.
REVIEW ZONE Project 프로젝트 스케치 이번 프로젝트에서는 커뮤니티 관련된 프로젝트를 진행하기로 했다. 기존 스팀잇과 같은 프로젝트는 인센티브를 많이 빠르게 받기 위해 글을 읽지 않고 보상만 받아가는 문제점이 있었다. 이 부분을 해결할 방법이 딱히 생각나지 않아서 리뷰에 도입하기로 생각했고 리뷰존이라는 프로젝트를 진행하게 되었다. 프로젝트는 광고사의 에드를 받아 관리자가 업로드 하고 구매자만 리뷰를 쓸 수 있게 구현하려고 했다. 리뷰를 쓰면 인센티브를 받고 예비 구매자?는 리뷰를 보고 도움 받은 리뷰에 좋아요를 눌러준다. 좋아요를 많이 받은 리뷰어도 토큰을 지급 받고 좋아요를 누른 유저도 인센티브를 지급받는 시스템이다. 이에 따른 문제점들이 있어서 문제 해결방안을 제시했으나 구현 시간이 모자라 구현을 다하지 못한점이 아쉽다. .. 2022. 2. 13.
NFT 경매 NFT 관련 글이 길어 경매 파트는 따로 정리 event Start(); event Bid(address indexed sender, uint amount); event Withdraw(address indexed bidder, uint amount); event End(address winner, uint amount); event Endedat(uint a); struct Auction { bool started; address owner; uint nftId; bool status; uint endAt; address highestBidder; uint highestBid; bool ended; } mapping(uint => Auction) auction; mapping(uint => mappin.. 2022. 2. 13.
NFT 컨트렉트 NFT는 ERC-721로 구성되어 있으며 NWT_Token으로 구매가 가능하다. // SPDX-License-Identifier: MIT pragma solidity ^0.8.0; import "../node_modules/@openzeppelin/contracts/token/ERC721/ERC721.sol"; import "../node_modules/@openzeppelin/contracts/utils/Counters.sol"; import "../node_modules/@openzeppelin/contracts/access/Ownable.sol"; import "../node_modules/@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStor.. 2022. 2. 13.